1.IO流的分类
- 流的不同:输入流、输出流。
- 处理单位的不同:字节流、字符流。
- 流的角色不同:节点流、处理流。
2.基础IO流的框架
抽象基类 | 4个节点流(也称为文件流) |
---|---|
InputStream | FileInputStream |
OutputStream | FileOutputStream |
Reader | FileReader |
Writer | FileWriter |
3.FileReader \ FileWriter的使用
3.1执行步骤:
- 创建读取或写出的File类的对象。
- 创建输入流或输出流。
- 具体的读入或写出的过程。
- 读入:read(char[] cbuffer)
- 写出:write(String str)/ write(char[] cbuffer,0,len)
- 关闭流资源,避免内存泄漏.
3.2注意点:
-
因为涉及到流资源的关闭操作,所以出现异常的话,需要使用try-catch-finally的方式来处理异常。
-
对于输入流来讲,要求file类的对象对应的物理磁盘上的文件必须存在。否则,会报FileNotFoundException错误。
-
对于输出流来讲,file类的对象对应的物理磁盘的文件可以不存在。
-
如果不存在,输出过程会自动创建该文件并写出数据到此文件中。文章来源:https://www.toymoban.com/news/detail-824712.html
-
如果存在,通过FileWriter构造器来选择覆盖还是追加。文章来源地址https://www.toymoban.com/news/detail-824712.html
//append是true为追加,反之覆盖 public FileWriter(File file, boolean append) throws IOException
-
4.FileInputStream \ FileOutputStream的使用
4.1执行步骤:
- 创建读取或写出的File类的对象。
- 创建输入流或输出流。
- 具体的读入或写出的过程。
- 读入:read(byte[] buffer)
- 写出: write(byte[] buffer,0,len)
- 关闭流资源,避免内存泄漏.
4.2注意点:
- 在3.2注意点的基础上,看其他的注意点。
- 对于字符流,只能用来操作文本文件,不能用来处理非文本文件。
- 对于字节流,通常是用来处理非文本文件的,但是如果涉及到文本文件的复制操作,也可以用字节流。
- 说明:
- 文本文件:.txt、.java、.c、.cpp、.py等。
- 非文本文件:.doc、.xls、.jpg、.pdf、.mp3、.mp4、.avi等。
到了这里,关于IO流——流的概述和分类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!