IO流
IO流
字节流
字节输出流
FileOutputStream的作用:
可以把程序中的数据写到本地文件上,是字节流的基本流
步骤:
- 创建字节输出流对象
- 参数是字符串表示的路径或者File对象都是可以的
- 如果文件不存在会创建一个新的文件,但是要保证父级路径是存在的
- 如果文件已经存在,则会清空文件
- 写数据
- write方法的参数是整数,但是实际写到本地文件中的是整数再ASCII上对应的字符
- 释放资源
- 每次使用完流之后都要释放资源
- 先开的最后关闭
1 | //创建对象的第二个参数是续写打开的开关 |
字节输入流
FileInputStream的作用:
操作本地文件的字节输入流,可以把本地文件中的数据读取到程序中来
步骤:
- 创建字节输入流对象
- 如果文件不存在,直接报错
- 读数据
- 一次读一个字节,读出来的是数据是ASCII上对应的数字
- 读到文件末尾了,read方法返回-1
- 释放资源
- 每次使用完流之后都要释放资源
- 先开的最后关闭
1 | FileInputStream fis = new FileInputStream("myio\\a.txt"); |
字符流
字符输出流
字符输入流
FileReader的作用:
操作本地文件的字符输入流,可以把本地文件中的数据读取到程序中来
步骤:
- 创建字符输入流对象
- 如果文件不存在,直接报错
- 读数据
- 按字节进行读取,遇到中文了,一次读多个字节,读取后解码,返回一个整数
- 读到文件末尾了,read方法返回-1
- 释放资源
- 每次使用完流之后都要释放资源
- 先开的最后关闭
1 | FileReader fr = new FileReader("myio\\a.txt"); |
异常处理
- JDK7以前:只能手动释放资源
1 | try { |
- JDK7:资源用完自动释放
1 | try (创建流对象1; 创建流对象2){ |
- JDK9:资源用完自动释放
1 | 创建流对象1; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Czar!
评论
ValineDisqus