Классы FileWriter и FileReader представляют собой потоки ассоциированные с файлами. Класс FileWriter позволяет писать в файл строки, символы и массивы символов как в поток. Класс FileReader позволяет читать символы из файла как потока.
Пример:
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package javainputoutput;
/** * * @author martyshov */ import java.io.*; import java.nio.*;
public class JavaInputOutput {
/** * @param args the command line arguments */ public static void main(String[] args) throws IOException {
//описание файла File f = new File("C:/test_streams.txt"); //если нет файла - создаем if (!f.exists()) { f.createNewFile(); } //делаем доступным для записи f.setWritable(true);
//создаем поток и выводим строку FileWriter fw = new FileWriter(f);
try { String temp = "Выведем данные в файл "; //пишем строку fw.write(temp); //пишем массив символов char[] char_arr = {'т', 'р', 'а', '-', 'т', 'а', '-' ,'т' ,'а'}; fw.write(char_arr); //пишем символ fw.write('$');
} catch (IOException e) { System.err.println(e.getLocalizedMessage()); } finally { fw.close(); }
FileReader fr = new FileReader(f);
try { //читаем в массив символов char[] char_arr = new char[15]; fr.read(char_arr); System.out.println(char_arr);
//выводим из потока посимвольно Integer ch; while ((ch = fr.read()) != -1) { System.out.print((char) ch.shortValue()); }
System.out.println("\n"); } catch (IOException e) { System.err.println(e.getLocalizedMessage()); } finally { fr.close(); }
}
}
|