Java IO学习笔记总结
Java IO学习笔记总结
前言
[blockquote]
前面的八篇文章详细的讲述了Java IO的操作方法,文章列表如下
- 基本的文件操作
- 字符流和字节流的操作
- InputStreamReader和OutputStreamWriter操作
- 内存操作流
- 管道流
- 打印流
- System对IO的支持
- BufferedReader和BufferedWriter
[/blockquote]
后续
字节流
[blockquote]
字节流的操作都是基于InputStream
和OutputStream
这两个抽象类
[/blockquote]
InputStream
[blockquote]
InputStream
是字节输入流,主要的功能是从文件中读取数据,它的子类有内存操作流 ByteArrayInputStream
,管道输入流PipedInputStream
,和FileInputStream
[/blockquote]
OutPutStream
[blockquote]
OutputStream
是字节输出流,主要功能是向文件中写入数据,它的常用的子类有ByteArrayOutputStream
, FileOutputStream
, PipedOutputStream
,PrintStream
[/blockquote]
字符流
[blockquote]
字符流的操作都是基于家Writer
和Reader
这两个抽象类的,一个是输出流,一个是输入流
[/blockquote]
Writer
[blockquote]
写入字符流的操作类,常用的子类有PrintWriter,BufferedWriter,OutputStreamWriter
(字节流和字符流之间的桥梁)
[/blockquote]
Reader
[blockquote]
用于读取字符流的抽象类,常用的子类有BufferedReader
,InputStreamReader
[/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]