Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Java.doc
Скачиваний:
836
Добавлен:
04.06.2015
Размер:
5.55 Mб
Скачать

Import java.Io.*;

Import javax.Swing.*;

public class JavaApplicationBuffer

{

public static void main(String[] args) throws IOException

{

try // попытка открытия файла

{

String text; // text - объект класса String

StringBuffer str; // str - объект класса // StringBuffer

String fileInputPath="E:/User/ishod.txt";

// создание байтового потока ввода из исходного файла

FileInputStream fileIn=new FileInputStream(fileInputPath);

// создание буферизированного потока ввода на основе символьного

BufferedReader bufRead=new BufferedReader(new InputStreamReader(fileIn, "windows-1251"));

String fileOutputPath="E:/User/result.txt";

// создание байтового потока вывода в выходной файл

FileOutputStream fileOut=new FileOutputStream(fileOutputPath);

// создание буферизированного потока вывода на основе символьного

BufferedWriter bufWrite=new BufferedWriter(new OutputStreamWriter(fileOut));

do // цикл чтения исходного файла

{

try // попытка чтения очередной строки из файла

{

// читаем очередную строку из исходного файла

text=bufRead.readLine();

// записываем ее в объект класса StringBuffer

str=new StringBuffer(text);

// переворачиваем строку

str.reverse().toString();

// записываем ее снова в переменную text класса String

text=new String(str);

// выводим перевернутую строку на консоль

System.out.println(text);

// и записываем ее в выходной файл

bufWrite.write(text);

// переход на новую строку в выходном файле

bufWrite.newLine();

}

// попытка чтения строки после конца файла

catch(NullPointerException e)

{

JOptionPane.showMessageDialog(null, "Прочитан конец файла");

break;

}

} while(true); // псевдобесконечный цикл чтения // из исходного файла

text="Программа закончила работу успешно!";

JOptionPane.showMessageDialog(null, text);

fileIn.close(); // закрытие исходного файла

fileOut.close(); // закрытие выходного файла

}

// обработка исключительной ситуации

catch(FileNotFoundException e)

{

JOptionPane.showMessageDialog(null, "Проверьте путь к файлу: " + e, "Файл не найден!", JOptionPane.ERROR_MESSAGE);

}

}

}

Результат работы программы в нормальныхусловиях:

Структура выходного файла result.txt:

,литевс иинацрем в ,ворим идерС

,ями юяротвоп я ыдзевз йондО

,либюл ее я ботч ,умотоп еН

.имигурд с ьсюлмот я отч ,умотоп А

йиксненнА йитнеконнИ

Результат работы программы в исключительнойситуации (исходный файл не найден):

В данной программе наряду с объектомtextклассаStringбыл использован объектstrклассаStringBuffer, так как этот класс имеет методreverse() для переворачивания строк.