1.Reader,Writer 2.用来读写文本文件的所有类的父类 3.read();read(char[ ]);
1.FileReader FileWriter 用来读写文本文件 使用FileWriter 必须在写入后调用flush方法来刷新缓冲区 读取和inputStream 相同,将byte数组转化成char数组
BufferedReader 和BufferedWriter 带缓冲区的流,可以不在读取到数组中,自己内部就有缓冲区。 BufferedReader 多了一个 readLine的方法,用来读取一行,每次读取到最近的\n BufferedWriter 多了一个newLine的方法,保证在任何的操作系统中都可以换行。
参考代码块 package io10_Demo3;
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException;
/**@刘柏林 * 带缓冲区的字符流 Buffered * @author Administrator * @201707.07 * ctrl+shift+m */ public class IOBuffered { public static void main(String[] args) { //BufferReader(); BufferedWriter(); }
private static void BufferedWriter() { FileWriter fileWriter= null; BufferedWriter bw =null; try { fileWriter =new FileWriter("d:/writerTest.txt"); bw = new BufferedWriter(fileWriter); bw.write("你好"); bw.newLine();//换行 bw.write("中国"); bw.flush();//刷新缓冲区 } catch (IOException e) { e.printStackTrace(); }finally{ try { bw.close(); } catch (IOException e1) { e1.printStackTrace(); } try { fileWriter.close();//缓冲区的流需要关闭 } catch (IOException e) { e.printStackTrace(); } } } private static void BufferReader() { FileReader fileReader= null; try { fileReader = new FileReader("C:" + "/Users/ASUS/Desktop/笔记本.txt"); } catch (FileNotFoundException e) { e.printStackTrace(); } BufferedReader br = new BufferedReader(fileReader); //在FileRead在封装一次 //读取单行 StringBuffer sb = new StringBuffer(); String line = null; try { while ((line=br.readLine()) !=null) { //有数据 sb.append(line).append("\n"); } System.out.println("读取完毕,内容为:"); System.out.println(sb.toString()); } catch (IOException e) { e.printStackTrace(); } }} 参考代码块 package io10_Demo3;
import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException;
import java.io.InputStreamReader;
public class Test2 { public static void main(String[] args) { //讲字节流转化成字符流 try { FileInputStream fis = new FileInputStream(“d:/Hello.txt”); //转化成字符流 InputStreamReader isr = new InputStreamReader(fis); // BufferedReader br = new BufferedReader(isr);
} catch (FileNotFoundException e) { e.printStackTrace(); }