java file的问题

来源:百度知道 编辑:UC知道 时间:2024/05/30 05:11:43
import java.io.*;
public class file1
{
public static void main(String[] args)throws Exception
{
File f=new File("g:\\11.txt");
RandomAccessFile raf=new RandomAccessFile(f,"rw");
String s="这个就是这所学校最好的学生";
System.out.println("现在要添加数据了!");
long l=raf.length();
raf.seek(1);
System.out.println(raf.readUTF( ));

raf.close();
}
}

Exception in thread "main" java.io.EOFException
at java.io.RandomAccessFile.readFully(RandomAccessFile.java:373)
at java.io.DataInputStream.readUTF(DataInputStream.java:565)
at java.io.RandomAccessFile.readUTF(RandomAccessFile.java:875)
at file1.main(file1.java:12)

g:\\11.txt

你这个文件应该是空的,所以会有那个异常。
你应该先写进字符串,然后再读,就没有异常了!~

还有可能是seek一个数据后,第二个数据的格式readUTF不能读取,也会显示是这异常。。

改成这样试试吧。

import java.io.*;
public class Test1
{
public static void main(String[] args)throws Exception
{
File f=new File("g:\\11.txt");
RandomAccessFile raf=new RandomAccessFile(f,"rw");
String s="这个就是这所学校最好的学生";
System.out.println("现在要添加数据了!");
long l=raf.length();
raf.writeUTF(s);
raf.writeFloat(l);
raf.seek(1);
System.out.println(raf.readFloat());
raf.close();
}
}