Java IO学习笔记总结

Java IO学习笔记总结

前言

[blockquote]

前面的八篇文章详细的讲述了Java IO的操作方法,文章列表如下

  • 基本的文件操作
  • 字符流和字节流的操作
  • InputStreamReader和OutputStreamWriter操作
  • 内存操作流
  • 管道流
  • 打印流
  • System对IO的支持
  • BufferedReader和BufferedWriter

[/blockquote]

后续

字节流

[blockquote]

字节流的操作都是基于InputStreamOutputStream这两个抽象类

[/blockquote]

InputStream

[blockquote]

InputStream字节输入流,主要的功能是从文件中读取数据,它的子类有内存操作流 ByteArrayInputStream,管道输入流PipedInputStream,和FileInputStream

[/blockquote]

OutPutStream

[blockquote]

OutputStream是字节输出流,主要功能是向文件中写入数据,它的常用的子类有ByteArrayOutputStream, FileOutputStream, PipedOutputStream,PrintStream

[/blockquote]

字符流

[blockquote]

字符流的操作都是基于家WriterReader这两个抽象类的,一个是输出流,一个是输入流

[/blockquote]

Writer

[blockquote]

写入字符流的操作类,常用的子类有PrintWriter,BufferedWriter,OutputStreamWriter(字节流和字符流之间的桥梁)

[/blockquote]

Reader

[blockquote]

用于读取字符流的抽象类,常用的子类有BufferedReaderInputStreamReader

[/blockquote]

最好用的

[blockquote]

  • 其中最高效的输入和输出当然是字符流操作的BufferedReader和BufferedWriter
  • 最便捷的,格式化最好的当然是PrintStream,PrintWriter这两个类都采用了格式化的输入和输出

[/blockquote]

输出流最好用的

[blockquote]

  • 输出流中比较好用的是PrintStream,PrintWriter
  • 输出流最好用的当然是BufferedWriter和PrintWriter的结合,例子如下;

[/blockquote]

File file=new File("/tmp"+File.separator+"test"+File.separator+"test.txt");
//用BufferedWriter实例化PrintWriter,显著提高写入的效率
PrintWriter printWriter=new PrintWriter(new BufferedWriter(new FileWriter(file)));
String name="陈加兵";
int age=22;
float grade=99.9f;
printWriter.printf("姓名:%s,年龄:%s,grade:%s",name,age,grade);  //格式化的写入
printWriter.close();

输入流最好用的

[blockquote]

  • 本人觉得输入流中BufferedReader功能已经很强大了

[/blockquote]

相关推荐