JFileChooser
ファイルは外部メディアにのみ保存する必要があるため、ディレクトリとその子に制限する必要があります。すでに処理されている外部メモリが存在しないという問題に遭遇することはありません。
するべきか...
- オーバーライドし
getCurrentDirectory()
ますか? - を使用し
FileFilter
ますか?通常、これらは を使用String.endsWith()
しますが、絶対パスを取得し、外部デバイスへのパスに基づいて制限します。
JFileChooser
ファイルは外部メディアにのみ保存する必要があるため、ディレクトリとその子に制限する必要があります。すでに処理されている外部メモリが存在しないという問題に遭遇することはありません。
するべきか...
getCurrentDirectory()
ますか?FileFilter
ますか?通常、これらは を使用String.endsWith()
しますが、絶対パスを取得し、外部デバイスへのパスに基づいて制限します。そのような制限を実装することは絶対に避けます。これを正しく行うことはほとんど不可能です (外部ストレージとは何かを確実に判断するにはどうすればよいでしょうか?)。ユーザーの期待に反します。
より良いアプローチは、ユーザーが好きなディレクトリを選択できるようにすることです。そのディレクトリが不適切である可能性が高いと判断した場合は、そのディレクトリが不適切である理由を詳しく説明する警告を表示します。「了解しました。続行します」と「別のディレクトリを選択してください」のように、警告に対して 2 つの選択肢を提供します。そしておそらく、プログラムオプションのどこかで警告をオフにするオプション。