1

ファイルが存在し、ディレクトリであるかどうかを確認したい:

File file = new File("C:\file.txt");
boolean isValidDir = file.exists() && file.isDirectory();

ファイルは、ネットワーク上の同じコンピューターまたは別のコンピューターに保存できます。ファイルがローカルに保存されている場合、これらのメソッドはすぐに返されますが、ネットワーク上の別の場所に保存されていて、たとえばネットワークケーブルが切断されている場合、これらのメソッドが返されるまでにしばらく時間がかかります。また、これらのメソッドがEDTから呼び出された場合、UIがフリーズしているように見えます。(この問題を回避するために、これらのメソッドを別のスレッドから呼び出しました。)

U:\helloworld\たとえば、ファイルがローカルに保存されているのか、ネットワーク上の別の場所に保存されているのかを判断する方法があるかどうか疑問に思っています。これらのメソッドは、他のスレッドに戻るのにまだしばらく時間がかかりますが、EDTで上記の行の結果を使用して、それに応じてコンポーネントをペイントする必要があります。任意の提案をいただければ幸いです。

4

1 に答える 1

0

単なる提案- ローカル ファイル システム上のファイルを検証するのにかかるおおよその時間を見つけることができます。おおよその所要時間の 1.5 倍または 2 倍または 3 倍かかる場合は、ファイルが別のファイル システムにあると想定できます。

于 2013-01-10T02:08:22.147 に答える