java.io.File.listFiles()という関数を使ってlinux上のディレクトリにあるファイルの一覧を取得しています。
1からN番までシーケンシャルにファイルを生成していますが、
あるタイミングでM番目のファイルもM+1番目のファイルも
java.io.File.exis()関数で存在しているのに、
listFiles()で取得した結果にM番目のファイルが含まれないのに
M+1番目のファイルが含まれている事象が発生しています。
listFiles()を疑っていて、Bugを探していたら、
listFiles()は、キャッシング機能を持っていて、renameTo()関数によって
リセットされると記載がありました。
https://netbeans.org/bugzilla/show_bug.cgi?id=268744
listFilesは、処理速度が遅いという問題もあり、Fileのインスタンスを
作成している間に、ファイルの状態が変わったりすることで
listFileでファイルが取得できないのでは?と思っています。
再現用のサンプルを作ってもなかなか再現できません。
このような事象が発生したことがある方いますでしょうか。
Javaは、7です。
http://dev.eyewhale.com/archives/1337
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/20 13:02