0

多数のファイルを開こうとしましたが、5000 個のファイルの後、

Exception in thread "Main" java.io.IOException: The device is not connected


これは予想される動作ですか?それを回避する方法はありますか?コードをできるだけ単純なままにしておきたい。

4

3 に答える 3

1
  • オペレーティング システムによって、1 つのプロセスで開くことができるファイルの数が制限されている場合があります。
  • 一般に、Java で開いているファイルなどのリソースには注意が必要です。これらすべてを開いたままにしておく特別な理由がない限り、各ファイルを読み、必要なデータを抽出してから閉じたほうがよいでしょう。

正確に何を達成しようとしていますか?

于 2009-03-16T03:46:52.743 に答える
0

開いているファイルにはリソースのコストがかかるため、多くのファイルが既に開いているときに別のファイルを開くことができないのは、予期された動作です。少なくともそれは私自身の期待です。

たとえば、これを参照してください: http://www.msfn.org/board/lofiversion/index.php/t101414.html

于 2009-03-15T14:06:46.863 に答える
0

使い終わったファイルを close() することを覚えていれば、何千ものファイルを開くのに問題はないでしょうか?

そうでない場合は、開いているファイルの状態を維持するようオペレーティング システムに強制しますが、これは通常、限られたリソースです。

多数の同時オープン ファイルが本当に必要な場合、解決策は状況によって異なります。あなたは何をする必要がありますか?コードを表示してください。

于 2009-03-15T15:04:07.647 に答える