前面的八篇文章详细的讲述了Java IO的操做方法,文章列表以下java
基本的文件操做git
字符流和字节流的操做github
内存操做流code
管道流ip
打印流内存
System对IO的支持get
字节流的操做都是基于
InputStream
和OutputStream
这两个抽象类io
InputStream
是字节输入流,主要的功能是从文件中读取数据,它的子类有内存操做流ByteArrayInputStream
,管道输入流PipedInputStream
,和FileInputStream
OutputStream
是字节输出流,主要功能是向文件中写入数据,它的经常使用的子类有ByteArrayOutputStream
,FileOutputStream
,PipedOutputStream
,PrintStream
字符流的操做都是基于家
Writer
和Reader
这两个抽象类的,一个是输出流,一个是输入流
写入字符流的操做类,经常使用的子类有
PrintWriter
,BufferedWriter
,OutputStreamWriter
(字节流和字符流之间的桥梁)
用于读取字符流的抽象类,经常使用的子类有
BufferedReader
,InputStreamReader
其中最高效的输入和输出固然是字符流操做的
BufferedReader
和BufferedWriter
最便捷的,格式化最好的固然是
PrintStream
,PrintWriter
这两个类都采用了格式化的输入和输出
输出流中比较好用的是
PrintStream
,PrintWriter
输出流最好用的固然是
BufferedWriter
和PrintWriter
的结合,例子以下;
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();
本人以为输入流中
BufferedReader
功能已经很强大了