java学习——IO

!!!以下所说的输入和输出都是以程序为对象(而不是文件)!!!

比如说:输出流,是指字节/字符通过管道流输出到文件。


字节流(以字节为单位读/写) 字符流(以字符为单位读/写)
输入流 InputStream Reader
输出流 OutputStream Writer

缓冲流:套接在字节流之上,带缓冲区,可以提高减少对硬盘的读写。在管道流前加Buffered    

/*
 *使用缓冲读文件
 */
BufferedReader in = new BufferedReader(new FileReader("result.txt"));
while (in.readLine() != null){
    System.out.println(in.readLine());
}
in.close();

/*
 *使用缓冲写文件
 */
String s = "hhhhhhhhhhhhhhhhhhhhhh";
//文件不存在则自动新建(目录不会自动新建,目录不存在会报错),true表示追加
BufferedWriter out = new BufferedWriter(new FileWriter("test.txt",true));
for (int i = 0; i < 10; i++) {
    out.write(i+s);
    out.newLine();
}
//把数据从内存刷新进文件
out.flush();
out.close();

/*
 *从控制台输入→文件
 */
BufferedWriter out = new BufferedWriter(new FileWriter("test.txt",true));
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String ss = in.readLine();
out.newLine();
while (ss != null) {
    if (ss.equalsIgnoreCase("exit")) break;
    System.out.println(ss);
    out.write(ss);
    ss = in.readLine();
}
in.close();
out.flush();
out.close();

所有的输入/出流都可以套缓冲区(Buffered)。


你可能感兴趣的:(java学习——IO)