чтение символов из файла - PullRequest
       5

чтение символов из файла

0 голосов
/ 19 сентября 2010

Я хочу прочитать файл по одному символу за раз и записать содержимое первого файла в другой файл по одному символу за раз.

Я также задавал этот вопрос ранее, но не получил удовлетворительного ответа..... я могу прочитать файл и распечатать его на стандартный вывод o / p.но не могу записать в файл тот же символ чтения.

Ответы [ 2 ]

2 голосов
/ 19 сентября 2010

Возможно, было бы полезно сослаться на предыдущий вопрос, чтобы увидеть, что было неудовлетворительно Вот базовый пример:

public static void copy( File src, File dest ) throws IOException {
    Reader reader = new FileReader(src);
    Writer writer = new FileWriter(dest);

    int oneChar = 0;
    while( (oneChar = reader.read()) != -1 ) {
        writer.write(oneChar);
    }

    writer.close();
    reader.close();     
}

Дополнительные вопросы для рассмотрения:

  • Оберните устройство чтения / записи с BufferedReader / Writer для лучшей производительности
  • вызовы close должны быть в блоке finally, чтобы предотвратить утечку ресурсов
0 голосов
/ 19 сентября 2010

Вы можете читать символы из файла, используя FileReader (есть метод read, который позволяет вам делать это по одному символу за раз, если хотите),и вы можете записывать символы в файл, используя FileWriter (есть односимвольный write метод).Существуют также методы для создания блоков символов, а не по одному символу за раз, но вы, кажется, хотели этого, поэтому ...

Это прекрасно, если вы не беспокоитесь о настройке кодировки символов.Если да, посмотрите на использование FileInputStream и FileOutputStream с InputStreamReader и OutputStreamWriter упаковщиками (соответственно),Классы FileInputStream и FileoutputStream работают с байтами, а затем потоковые программы чтения / записи работают с преобразованием байтов в символы в соответствии с выбранной кодировкой.

...