- BufferedReader:带有缓冲区的字符输入流。
——使用这个流的时候不需要自定义char数组,或者说不需要自定义byte数组。自带缓冲。public class BufferedReaderTest01 { public static void main(String[] args) { //定义一个字符输入缓冲流 BufferedReader br = null; try { //创建一个文件字符输入流 //FileReader fr = new FileReader("src/com/javaSE/io/tempfile"); br = new BufferedReader(new FileReader("src/com/javaSE/io/tempfile")); String line = null; while ((line = br.readLine()) != null) { System.out.println(line); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
- BufferedWriter:带有缓冲区的字符输出流。
——使用这个流的时候不需要自定义char数组,或者说不需要自定义byte数组。自带缓冲。public class BufferedWriterTest01 { public static void main(String[] args) { //定义一个带缓冲的字符输出流 BufferedWriter bw = null; try { bw = new BufferedWriter(new FileWriter("tempfile",true)); bw.write("hallo world"); bw.write("n"); bw.write("hallo ketty"); bw.flush(); } catch (IOException e) { e.printStackTrace(); }finally { if (bw != null) { try { bw.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
- BufferedInputStream:带有缓冲区的字节输入流。
——使用方式与BufferedReader相似 - BufferedOutputStream:带有缓冲区的字节输出流。
——使用方式与BufferedWriter相似
二、转换流
- InputStreamReader:将字节输入流转换为字符输入流。
**public class InputStreamReaderTest01 { public static void main(String[] args) { //定义一个带缓冲的字符输入流 BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(new FileInputStream("tempfile"))); String s = null; while ((s = br.readLine()) != null) { System.out.println(s); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally { if (br != null) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } } } }** - OutputStreamWriter:将字节输出流转换为字符输出流。
public class OutputStreamWriterTest01 { public static void main(String[] args) { //定义一个字符缓存输出流 BufferedWriter bw = null; try { bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("tempfile", true))); bw.write("n"); bw.write("法外狂徒"); bw.write("n"); bw.write("张三"); //刷新 bw.flush(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally{ if (bw != null) { try { bw.close(); } catch (IOException e) { e.printStackTrace(); } } } } }



