使用RandomAccessFile类时出现了“java.io.EOFException”错误。

来源:互联网 发布:android 开机启动优化 编辑:程序博客网 时间:2024/06/07 04:51

下面这段代码:

package test;import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;public class TestRandomAccessFile {String pathOfFile="C:\\Users\\lenovo\\Desktop\\data.txt";File file=new File(pathOfFile);RandomAccessFile randomAccessFile;public TestRandomAccessFile(){}public void writeIntoFile(){if (!file.exists()) {try {file.createNewFile();} catch (IOException e) {System.out.println("文件建立未成功");}}try {randomAccessFile=new RandomAccessFile(file, "rw");randomAccessFile.writeUTF("helloworld");} catch (FileNotFoundException  e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}public String readFromFile(){try {//randomAccessFile.seek(0);return randomAccessFile.readUTF();} catch (IOException e) {e.printStackTrace();}return null;}}

运行时出现了下面所示的错误:

java.io.EOFException

at java.io.RandomAccessFile.readUnsignedShort(RandomAccessFile.java:769)


刚开始很纳闷,自己明明就没用到那个方法,怎么会出现这种错误呢?后来参考别人的代码,发现少了注释那行,才恍然大悟。用writeIntoFile()这个方法写入文件之后,文件指针已经指向了末尾,所以再调用readFromFile()方法时,自然就会报EOFException这个异常了。

0 0
原创粉丝点击