Java | 文件读写的几种方法,以及判断文件结尾

一:Scanner可以很好的达到读写文件的作用

Scanner的构造函数的参数是InputStream

InputStream是一个抽象类,FileInputStream是它的一个子类。而FileInputStream可以以String或File为参数读入文件流,然后用这个FileInputStream对象初始化一个Scanner,如sin。

然后就可以像手动输入一样使用sin读入文件中的信息。

用sin.hasnext()表示是否读到文件结尾。

对应的可以用PrintStream达到写入文件的效果,它要用一个FileOutputStream(或File file或String filename)作构造函数的参数,然后就可以像在控制台中显示数据一样写入文件。

二:DataInputStream对象实现文件的读入

其构造函数的参数也是InputStream,所以也可以用FileInputStream。

读取用DataInputStream.readInt()等即可,DataInputStream.readXX()会抛出EOFException()和IOException()。

并且在读到文件结尾时会返回-1。另外用DataInputStream.available()==0表示读到文件结尾

写入文件可以用DataOutputStream对象,写入可以用DataOutputStream.writeXX()。

注意,这些writeXX()都是以二进制的方式写入的,所以直接打开文件显示的是乱码。要显示写入文件中的int等数据,要以String形式读入。虽然显示的是乱码,但是用DataInputStream的readXX()可以以int等类型读入。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值