早教吧 育儿知识 作业答案 考试题库 百科 知识分享

RandomAccessFile不明白的用法seek有代码请教谢谢了?我的代码:importjava.io.*;publicclassfile24{publicstaticvoidmain(String[]args)throwsException{Filef=newFile("d://raf.txt");RandomAccessFileraf=newRandomAccessFile(f,"rw"

题目详情
RandomAccessFile不明白的用法seek有代码请教谢谢了?
我的代码:import java.io.*;
public class file24
{
public static void main(String[] args)throws Exception
{
File f=new File("d://raf.txt");
RandomAccessFile raf=new RandomAccessFile(f,"rw");
String s="123456789";
System.out.println("现在要添加数据了!");
try
{
long l=raf.length();
raf.seek(0);
raf.writeUTF(s);
raf.close();
}
catch(Exception e)
{}
}
}
执行完效果是,在d盘下该文件内容:
“ 123456789”
我的问题是怎么改seek()中的值如1,2,3等等都是以上内容,
seek到底怎么用?
谢谢一楼大哥了
可是我修改seek中的数值,但结果为什么都一样呢?改成2或3等等
结果都是“这里有八个空123456789”百度显示不了
▼优质解答
答案和解析
seek
public void seek(long pos)
throws IOException
设置到此文件开头测量到的文件指针偏移量,在该位置发生下一个读取或写入操作.偏移量的设置可能会超出文件末尾.偏移量的设置超出文件末尾不会改变文件的长度.只有在偏移量的设置超出文件末尾的情况下对文件进行写入才会更改其长度.
参数:
pos - 从文件开头以字节为单位测量的偏移量位置,在该位置设置文件指针.
抛出:
IOException - 如果 pos 小于 0 会发生 I/O 错误.
在你的例子中就是将RandomAccessFile的读取指针设置在0的位置,从0位开始读取数据^^^
注意查看你读取的空格数量!
看错了你是写进去,它只能定位文件中存在的,写进去2,3都还没有数据,指针不可能会指到那儿,所以结果是一样的……