本文最后更新于 342 天前,其中的信息可能已经有所发展或是发生改变。
先说答案:不会
在文件处于被写入占用的状态时,FileReader依然能够读取到文件,不对正在占用的进程造成影响。
f = open('YOURFILE','a+')
#打开后FileReader依然能够读取到文件,不会被打开的程影响
当文件被FileReader打开时,其他程序依然可以打开文件并且正常写入和保存
try (Scanner sc = new Scanner(new FileReader(fileName))) {
while(true){}
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
}
//这时候,在Python中读写改文件均不受影响
f = open('YOURFILE','a+')
f.write('test line')
f.close()
新的写入要调用flush从缓冲区输出之后才能在系统里看到
#情况1,close的时候会输出
f = open('YOURFILE','a+')
f.write('test line')#这里写入后还在缓冲区,FileReader读不到这个
f.close()#这一句关闭之后就能读到了
#情况2,手动调用out.flush()
f = open('YOURFILE','a+')
f.write('test line')#这里写入后还在缓冲区,FileReader读不到这个
f.flush()#这句把缓冲区的输出,执行过之后就能读取到刚刚输出的行了
f.close()#不用等到close才能看到