?

Log in

No account? Create an account
Журнал Кожанова Андрея Below are the 3 most recent journal entries recorded in the "kozhanovan" journal:
Январь 12, 2010
11:32 am

[Ссылка]

Как объединить несколько файлов в один


Скачал недавно с дюжину рассказиков для чтения на покете. Но вот беда - каждый рассказ - отдельный файл, а для удобства чтения хочется объединить их в один. К тому же файлы оказались в кодировке UTF8, а для покета требуется виндовая кодировка Cp1251. Вероятно, задачу можно было решить каким-нибудь скриптом (особенно в юниксе) или вообще вручную, но мы не ищем легких путей. Во-первых, я переименовал файлы так, чтобы их название начиналось с цифры. Т.е. получил список файлов вроде 01_story_one.txt, 02_story_two.txt и так далее. А во-вторых, написал для обработки следующую программу на джаве.
Собственно программаСвернуть )
Код необходимо сохранить в файле Converter.java (регистр имеет значение!) и откомпилировать его командой
javac Converter.java
. Запуск осуществляется командой
java Converter
. На выходе получаем то, что было надо - один файл (output.txt), содержащий все нужные рассказы.

Tags: ,

(Оставить комментарий)

Декабрь 30, 2009
04:57 pm

[Ссылка]

Java. Точность вычислений.


Довольно часто при написании программ приходится выполнять операции над числами с плавающей точкой. Это и обыкновенные бухгалтерские программы, и сложные математические расчеты. Для преставления таких чисел в java служат два примитивных типа данных - float и double, а также их классы-обертки Float и Double соответственно. Для выполнения точных вычислений предназначен класс java.math.BigDecimal, и далее будет показано, что именно его нужно использовать для точных вычислений.

Рассмотрим хрестоматийный пример: сколько будет 2 / 3? Очевидно, периодическая дробь - 0,(6). В различных расчетах она обычно округляется до необходимой точности, например, в случае точности до третьего знака можно записать: 2 / 3 = 0,667. В случае точности до двадцатого знака: 2 / 3 = 0,66666666666666666667. Посмотрим теперь, какой ответ нам выдаст программа, написанная на java, будем рассматривать случаи использования различных типов данных, последовательно float, double и BigDecimal. Интересующая нас точность - до двадцатого знака.
Далее примеры кода с объяснениямиСвернуть )

Tags: ,

(3 комментария | Оставить комментарий)

Ноябрь 18, 2009
01:13 pm

[Ссылка]

Java. Локализация


Кто о чем, а я опять о джаве. На этот раз речь пойдет о локализации. Под локализацией подразумевается отображение данных (прежде всего пользовательского интерфейса) на языке пользователя. Наиболее ярким примером различия представления данных, по-моему, является отображение даты - в России принят формат День, Месяц, Год, а в США - Месяц, День, Год. Грамотно написанная программа должна эти различия учитывать.

Основным классом, отвечающим за разное представление данных в разных странах, является в java класс java.util.Locale. Существует целый набор стандартных локалей, идентифицируются они в основном по двум параметрам - языку и стране, иногда может добавляться платформа - Windows или Unix. Все доступные локали можно посмотреть следующей программкой.

import java.util.Locale;

public class ListLocales
{
	public static void main(String [] arg)
	{
		Locale [] lst = Locale.getAvailableLocales();

		for(Locale l: lst)
			System.out.println(l);
	}
}

Далее про локализациюСвернуть )

Tags: , ,

(6 комментариев | Оставить комментарий)

Разработано LiveJournal.com