BufferedReader
常见方法:
BufferedReader(Reader in) 接收一个Reader类的实例
readLine() 一次性从缓冲区中将内容全部读取出来
注意:
BufferedReader中只能接收输入流的实例
必须使用字符输入流和字节输入流的的转换类InputStreamReader将字节输入流转换为字符流
实例:
此时关闭是由里到外进行关闭
public static void main(String[] args) throws IOException {
//1、
File file = new File("d:\\test.txt");
InputStream in =new FileInputStream(file);
//转化流
Reader reader = new InputStreamReader(in);
//2、
BufferedReader breader = null;
breader = new BufferedReader(reader);
String str = null;
while((str = breader.readLine())!=null){
System.out.println(str);
}
//3、关闭
in.close();
reader.close();
breader.close();
}
读取的结果:
BufferedWriter
主要的写方法:
注意:
BufferedReader中只能接收输入流的实例
必须使用字符输入流和字节输入流的的转换类OutputStreamWriter将字节输入流转换为字符流
注意:
关闭是由外至里
public static void main(String[] args) throws IOException { //1、 File file = new File("d:\\test.txt"); OutputStream out = new FileOutputStream(file); Writer writer = new OutputStreamWriter(out); //2、 BufferedWriter bwriter = null; bwriter = new BufferedWriter(writer); //3、 bwriter.write("我是MrChengs \n\r 我爱博客园"); //4、关闭流资源 bwriter.close(); writer.close(); out.close();
}
小测试复制文件内容:
public static void main(String[] args) throws IOException { //将test.txt文件的内容复制到aaa.txt文件中 //1、 //被复制内容的为念 File file = new File("d:\\test.txt"); InputStream in = new FileInputStream(file); Reader reader = new InputStreamReader(in); //空文件 即将被test.txt的内容进行填充 //File file1 = new File("aaa.txt"); OutputStream out = new FileOutputStream("d:\\aaa.txt"); Writer writer = new OutputStreamWriter(out); //2、 BufferedWriter bwriter = null; bwriter = new BufferedWriter(writer); BufferedReader breader = null; breader = new BufferedReader(reader); //3、 String str =null; int i = 0; while((str = breader.readLine()) != null){ bwriter.write(str); } System.out.println("--"); //4、关闭 in.close(); reader.close(); breader.close(); bwriter.close(); writer.close(); out.close(); }
此时出现的问题是复制的内容仅仅之后填充再一行中
解决方法: