import java.io.File;
import java.io.RandomAccessFile;
public class FileDemo02
{
public static void main(String args[]) throws Exception
{
File f=new File("D:"+File.separator+"test.text");
RandomAccessFile rdf=null;
rdf=new RandomAccessFile(f,"r");
String name=null;
int age=0;
byte b[]=new byte[8];
rdf.skipBytes(12);
for(int i=0;i<b.length;i++)
{
b[i]=rdf.readByte();
}
name=new String(b);
age=rdf.readInt();
System.out.println("第二个人的信息-->姓名:"+name+":年龄:"+age);
rdf.seek(0);
b=new byte[8];
for(int i=0;i<b.length;i++)
{
b[i]=rdf.readByte();
}
name=new String(b);
age=rdf.readInt();
System.out.println("第一个人的信息-->姓名:"+name+":年龄:"+age);
rdf.skipBytes(24);
b=new byte[8];
for(int i=0;i<b.length;i++)
{
b[i]=rdf.readByte();
}
name=new String(b);
age=rdf.readInt();
System.out.println("第三个人的信息-->姓名:"+name+":年龄:"+age);
rdf.close();
}
}运行结果是:第二个人的信息-->姓名: lisi, :年龄:538981169
第一个人的信息-->姓名:zhangsan:年龄:858795040
Exception in thread "main" java.io.EOFException
at java.io.RandomAccessFile.readByte(Unknown Source)
at FileDemo02.main(FileDemo02.java:34)
我不知道为什么会出现异常,我后面的代码是copy之前的。为什么前面不报错,后面就异常了,请高手指教。
import java.io.RandomAccessFile;
public class FileDemo02
{
public static void main(String args[]) throws Exception
{
File f=new File("D:"+File.separator+"test.text");
RandomAccessFile rdf=null;
rdf=new RandomAccessFile(f,"r");
String name=null;
int age=0;
byte b[]=new byte[8];
rdf.skipBytes(12);
for(int i=0;i<b.length;i++)
{
b[i]=rdf.readByte();
}
name=new String(b);
age=rdf.readInt();
System.out.println("第二个人的信息-->姓名:"+name+":年龄:"+age);
rdf.seek(0);
b=new byte[8];
for(int i=0;i<b.length;i++)
{
b[i]=rdf.readByte();
}
name=new String(b);
age=rdf.readInt();
System.out.println("第一个人的信息-->姓名:"+name+":年龄:"+age);
rdf.skipBytes(24);
b=new byte[8];
for(int i=0;i<b.length;i++)
{
b[i]=rdf.readByte();
}
name=new String(b);
age=rdf.readInt();
System.out.println("第三个人的信息-->姓名:"+name+":年龄:"+age);
rdf.close();
}
}运行结果是:第二个人的信息-->姓名: lisi, :年龄:538981169
第一个人的信息-->姓名:zhangsan:年龄:858795040
Exception in thread "main" java.io.EOFException
at java.io.RandomAccessFile.readByte(Unknown Source)
at FileDemo02.main(FileDemo02.java:34)
我不知道为什么会出现异常,我后面的代码是copy之前的。为什么前面不报错,后面就异常了,请高手指教。
解决方案 »
- java重写,重载和遮蔽问题
- 拿到地址栏的全路径
- 数字 字符串 的操作[java]
- httpclient 去网页内容的时候有个table取不到
- Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
- JAVA学友们请进来
- 那们兄台手里有关于 tomcate4.1的配置资料,小弟急需!!!!
- 请问如何实现该功能:当单元格处于可编辑状态时生成一个combobox?
- 一些小问题 刚学java请大家帮助
- file not found的问题
- Java中数组的含义?请高手指点一二.
- JAVA程序中怎么编程才能修改dat文件里的数据
age=rdf.readInt();
读取这行数据时已经到了文件尾部了,所以会报EOFException(end of file)异常。
所以在读取数据前一定要判断是否已经到达文件尾部了。