java中几种文件流的使用方法

本文为博主原创,更多好文章请点击这里

文件类
  • exists()  判断文件或者目录是否存在
  • isFile()  判断是否是文件
  • isDirectory()  判断是否是目录
  • getPath()  获取文件相对路径
  • getAbsolutePath()  获取文件绝对路径
  • getName()  获取文件名
  • length()  获取文件内容的字节长度
  • delete()  删除文件
  • createNewFile()  创建一个空的文件
字节输入流
  • 父类是InputStream
  • 子类FileInputStream
  • read()  方法从字节流中读取内容
  • available()  返回流中剩余的字节个数
  • close()  方法关闭文件流,释放资源
    注意:使用子类去读写文件
操作文件流的步骤
  1. 引入相关的类
  2. 构造文件流对象,建立数据通道
  3. 读写文件
  4. 关闭流释放资源
字节输出流
  • 父类是OutputStream
  • 子类FileOutputStream
  • write()  方法将字节写入流中保存
  • flush()  方法关闭文件流,释放资源
  • close()  方法关闭文件流,释放资源
    注意:当文件不存在会自动创建空文件,并写内容
    如果希望写入的内容进行追加,需要在构造方法的时候添加true参数
FileOutputStream f2 = new FileOutputStream(file,true);
字符流操作
  • Reader 和 Writer 是父类
  • OutputStreamWriter 和 InputStreamWriter 是 Reader 和 Writer 是子类
  • FileWriter 和 是 FileReader 和 InputStreamWriter 是子类
  • write()  写入数据
  • close()  关闭流
  • BufferedWriter 和 BufferedReader是增强版的类,效率更高
    注意:使用子类去读写文件
二进制文件的读写
  • 使用 DataInputStream 和 DataOutputStream 类
  • read()  读取二进制文件内容
  • write()  写入二进制文件内容
  • close()  关闭流
对象的序列化和反序列化


  • 使用 ObjectInputStream 和 ObjectOutputStream 类
  • 被序列化和反序列化的实体类,要实现Serializable接口
  • 想要序列化和反序列化多个对象,可以将他们塞入集合,再对集合进行序列化写入和反序列化读入

例如
list.add(dog1);
list.add(dog2);
list.add(dog3);

writeObject(list);

本文为博主原创,更多好文章请点击这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值