Создание файла с помощью PrintWriter на Java и запись в этот файлJAVA

Программисты JAVA общаются здесь
Anonymous
Создание файла с помощью PrintWriter на Java и запись в этот файл

Сообщение Anonymous »

Я пытаюсь написать программу, которая считывает файл (который является исходным файлом Java) и создает массив из определенных указанных значений из этого файла. и выводит этот Arraylist в другой результирующий файл.

Я использую PrintWriter для создания нового результирующего файла. Это обобщенная версия моей программы:

Код: Выделить всё

 ArrayList exampleArrayList = new ArrayList();
File actualInputFile = new File("C:/Desktop/example.java");

PrintWriter resultingSpreadsheet= new PrintWriter("C:/Desktop/SpreadsheetValues.txt", "UTF-8");

FileReader fr = new FileReader(actualInputFile);
BufferedReader br = new BufferedReader(fr);
String line=null;

while ((line = br.readLine()) != null) {
// code that makes ArrayList
}

for (int i = 0; i < exampleArrayList.size(); i++) {
resultingSpreadsheet.println(exampleArrayList.get(i));
}
resultingSpreadsheet.close();
Проблема в том, что когда я запускаю это, в результирующую таблицу ничего не печатается. Он совершенно пуст.

НО эта программа работает отлично (это означает, что она правильно распечатывает все в результирующий файл электронной таблицы), когда я заменяю:

Код: Выделить всё

 File actualInputFile = new File("C:/Desktop/example.java");
это файл, который я хочу использовать в качестве входного файла, размер которого составляет 481 КБ,
с:

Код: Выделить всё

 File smallerInputFile = new File("C:/Desktop/smallerExample.txt");
который на самом деле представляет собой уменьшенную версию исходного файла .java в формате .txt и имеет размер 1,08 КБ.

Я пробовал несколько вещей, включая очистку PrintWriter, обертывание его вокруг FileWriter, копирование всего кода из файла .java в текстовый файл на случай, если это проблема с расширением, но это не кажется работать.
Я начинаю думать, что это должно быть из-за размера файла, который создает PrintWriter, но вполне возможно, что проблема не в этом. Возможно, мне нужно поместить все в поток (как здесь написано: http://docs.oracle.com/javase/6/docs/ap ... riter.html)? Если да, то как мне это сделать?

Почему чтение большего фактического файла InputFile и правильный вывод его данных представляет собой такую ​​проблему, когда с меньшим входным файлом все работает нормально?
Может ли кто-нибудь помочь с этим?

Вернуться в «JAVA»