0

ファイルを開く方法は 2 つあります。

1 つ目は、追加のファイル タイプ フィルタを使用して FileChoser を使用します。

JFileChooser inFileName = new JFileChooser();
 FileNameExtensionFilter filter = new FileNameExtensionFilter("PCF & TXT Files", "pcf", "txt");

inFileName.setFileFilter(filter);
    Component parent = null;
int returnVal = inFileName.showOpenDialog(parent);`

2 つ目は JOptionPane を使用しますが、選択したディレクトリが存在することを確認するためのループがあります。

String filePath;
File directory;

do{
  filePath = JOptionPane.showInputDialog("please enter directory");
   directory = new File(filePath);

    if (directory.exists()==false){
     JOptionPane.showMessageDialog(null,"error with directory");
    }
 }while(directory.exists()==false);

私はここで両方のベストを尽くそうとしています。ファイルフィルターを使用してファイルを選択し、そのディレクトリが有効でない場合はその機能をループできるようにします。

変数名とさまざまな関数をさまざまな場所で切り替えてみましたが、ループ (「.exists」関数) が機能しないようです。

4

1 に答える 1

0

JFileChooserループを使用するには、コードを変更するだけです。

JFileChooser inFileName = new JFileChooser();

File file;
boolean valid = false;
while (!valid) {
  int returnVal = inFileName.showOpenDialog(null);
  if (returnVal == JFileChooser.APPROVE_OPTION) {
    file = inFileName.getSelectedFile();
    valid = file.isDirectory();
  else {
    valid = returnVal == JFileChooser.CANCEL_OPTION;
  }
}

この種のことは、次を使用してよりよく達成できる可能性があることに言及する価値があります。

jFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
于 2013-08-16T13:04:46.407 に答える