ソナーは、次の行で発生する、NullPointer例外が発生する可能性があることと考えて、なぜ私は知らない。ソナー:nullpointerがありますか?
if (file == null || file.listFiles() == null || file.listFiles().length == 0) {//etc}
は君たちがどんな考えを持っていますか?
file.listFiles()
リターンの1回の呼び出し、null以外は、次のいずれかが必ずやるという意味ではありませんという理由だけで:私のコメントに拡大
'file.listFiles()'を1回だけ呼び出すと、 'null'以外の値が返されるだけで、次のファイルが必ず実行されるわけではありません。 'file.listFiles()。length'は常にNPEの危険です。 –
おそらく 'NullPointerException'は' listFiles() 'の呼び出しの中で*発生しますか?あるいは、 'listFiles()'は最初はnull以外の何かを返しますが、2回目の呼び出しでは 'null'ですか? – Waggili
'listFiles()'の結果の変更以外にも、 'file'は他のスレッドから見えますか(IOW:フィールドかローカル変数か)?彼らは最初の呼び出しの後に 'null'に設定することができます。 – zapl