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等类型读入。

猜你喜欢

转载自blog.csdn.net/weixin_48419914/article/details/121452752
今日推荐