Учебное пособие: Наследование и классы-коллекции
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("d:\\input.txt"));
//Входной поток — из файла d:\input.txt
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("d:\\output.txt"));
//Выходной поток — в файл d:\output.txt
//инициализация экземпляра класса, реализующего интерфейс коллекций
intc = 0;
Datebefore = newDate(); //зафиксировали время перед обработкой
while ((c = br.read()) != -1) { //пока не достигнут конец файла d:\input.txt
//обработка
/*
например, если ранее определена строка Strings="";
то можно записать s+=(char)c;
Тогда все содержимое файла d:\input.txt будет записано в строку s
*/
}
br.close(); //закрываем входной поток после чтения и предварительной обработки
for (/*цикл*/){
//обработка и запись в выходной поток
bw.write(/*слово*/+" "+/*число*/+"\r\n");
}
bw.close(); //закрываем выходной поток после записи файла
Dateafter = newDate(); //фиксируем время после обработки
System.out.println("Обработка продолжалась "+(after.getTime()-before.getTime())+" миллисекунд");
//выводим на консоль время обработки в миллисекундах
} //конец public static void main(String[] args)
} //конец класса Statistics
Приложение 2. Работа со строками
Очень большое место в обработке информации занимает работа с текстами. Как и многое другое, текстовые строки в языке Java являются объектами. Они представляются экземплярами класса String или класса StringBuffer.
Зачем в язык введены два класса для хранения строк? В объектах класса String хранятся строки-константы неизменной длины и содержания. Это значительно ускоряет обработку строк и позволяет экономить память, разделяя строку между объектами, использующими ее. Длину строк, хранящихся в объектах класса StringBuffer, можно менять, вставляя и добавляя строки и символы, удаляя подстроки или сцепляя несколько строк в одну строку.
Напомним, что символы в строках хранятся в кодировке Unicode, в которой каждый символ занимает два байта. Тип каждого символа char.