298 字符缓冲流
相似的是,字节缓冲流
BufferedReader | 构造方法:BufferedReader(Reader in) 从字符输入流读取数据,缓冲字符,提供字符、数组、行的高效读取,可指定or不指定缓冲区大小。默认值很大,一般够用 void newLine(),写一个空行,自动匹配win、mac、linux所使用的不同的换行符 (e300) |
BufferedWriter | 构造方法:BufferedWriter(Writer out) 将数据写入字符输出流,缓冲字符,提供单个字符、数组、字符串的高效写入,可指定or不指定缓冲区大小,默认值很大,一般够用。 String readLine(),读一行,从行开始至换行符前,不包含换行符。读到结尾则返回null (e300) |
--------------------------------------------------------------
package e298;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
public class Prepare {
public static void main(String[] args) throws IOException {
File f = new File("myCharStream\\src\\e298\\pp.txt");
f.createNewFile();
FileOutputStream fos = new FileOutputStream(f);
OutputStreamWriter osw = new OutputStreamWriter(fos);
osw.write("pp\nppp");
osw.close();
}
}
--------------------------------------------------------------
pp
ppp
--------------------------------------------------------------
package e298;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class BufferedStreamDemo {
public static void main(String[] args) throws IOException {
//每次读一个字符
BufferedReader br298 = new BufferedReader(new FileReader("myCharStream\\src\\e298\\pp.txt"));
int ch;
while ((ch = br298.read()) != -1) {
System.out.print((char) ch);
}
br298.close();
}
}
/*
pp
ppp
*/
--------------------------------------------------------------
package e298;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class BufferedStreamDemo2 {
public static void main(String[] args) throws IOException {
//每次读一个字符数组
BufferedReader br298 = new BufferedReader(new FileReader("myCharStream\\src\\e298\\pp.txt"));
char[] chs = new char[1024];
int len;
while ((len = br298.read(chs)) != -1) {
System.out.print(new String(chs, 0, len));
}
br298.close();
}
}
/*
pp
ppp
*/