Java的FileReader会与正在读写文件的进程冲突吗?
本文最后更新于 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才能看到

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇