假设我有一个程序生成一个名为data.bin的二进制文件,我使用data.write(item)写一堆随机信息,如:
RandomAccessFile data = new RandomAccessFile("data.bin","rws");
Random r = new Random(482010);
Scanner input = new Scanner(System.in);
int number = 100;
byte[] item = new byte[1024];
System.out.print("How many items (perhaps 800000)\n> ");
number = input.nextInt();
for (int i=0; i<number; i++) {
r.nextBytes(item);
data.write(item);
}
data.close();
System.out.println("Done");
现在一旦该文件被完全写入,如果我再次执行data.write(item)会覆盖该文件中的所有信息吗?还是继续添加到它的末尾?
答案 0 :(得分:0)
是的,因为你已经关闭了文件,当前位置会转到文件的开头,现在如果你说data.write,数据会被覆盖。如果你还没有关闭文件,那么当你说data.write时它会在文件末尾继续。