0

(特定のファイルタイプの) 個々のファイルを開いて読み取るコードを作成しましたが、これらのファイルでいっぱいのフォルダーでのみ、同じことを行う必要があります。この質問を見つけましたが、必要なものに変更する方法がわかりません。

これが私の現在のコードです。

    JFileChooser inFileName = new JFileChooser(new 
    File("C:\\Documents and Settings\\lucey01\\Desktop\\Projects\\C0048817\\KOI\\C0048817_PCF_Front"));       
    \\This is the default folder

    FileNameExtensionFilter filter = new FileNameExtensionFilter("PCF & TXT Files", "pcf", "txt");
    inFileName.setFileFilter(filter);
    
    Component parent = null;
    
    do {
      returnVal1 = inFileName.showOpenDialog(parent);
      if (returnVal1 == JFileChooser.CANCEL_OPTION) {
          returnVal2 = JOptionPane.showConfirmDialog(null, "Select YES to cancel. Select NO to restart",
          "Are you sure?", JOptionPane.YES_NO_OPTION);
          if (returnVal2 == JOptionPane.YES_OPTION) {
            System.exit(returnVal2);
            }else{
             checksumGUI.this.askDirectory();
           }
      }
   } while (returnVal1 == JOptionPane.CANCEL_OPTION);
     cf.HexFinder(inFileName,null,null,null);

編集私の質問は次のとおりです。このコードに追加/変更して、フォルダー内の特定の種類の複数のファイルで動作させることができる(小さな)ものはありますか?

どんな助けでも大歓迎です、ありがとう。

4

2 に答える 2

0

わかりました、これが私の SSCCE です。私が見つけたコードの一部はhereからのもので、非常に便利です。このコードはコンパイルされ、問題はないようです。しかし、少しデバッグした後でも、なぜ機能しないのかわかりません

package robertskostalproject;

import java.awt.Component;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;

public class checksumGUI {

 private checksumFinder cf = new checksumFinder();
 private static int returnVal1;
 private static int returnVal2;

public void askDirectory() throws FileNotFoundException, UnsupportedEncodingException, IOException {

    JFileChooser inFileName = new JFileChooser(new File("C:\\Documents and Settings\\lucey01\\Desktop\\Projects\\C0048817\\KOI"));
    inFileName.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

    Component parent = null;

    do {

     returnVal1 = inFileName.showOpenDialog(parent);
     if (returnVal1 == JFileChooser.CANCEL_OPTION) {
        returnVal2 = JOptionPane.showConfirmDialog(null, "Select YES to cancel. Select NO to restart",
        "Are you sure?", JOptionPane.YES_NO_OPTION);
          if (returnVal2 == JOptionPane.YES_OPTION) {
             System.exit(returnVal2);
          } else {
            checksumGUI.this.askDirectory();
         }
      }

    } while (returnVal1 == JOptionPane.CANCEL_OPTION);

  File folder = inFileName.getSelectedFile();
  File[] listOfFiles = folder.listFiles();

 for (int i = 0; i < listOfFiles.length; i++) {
   File file = listOfFiles[i];
   if (file.isFile() && file.getName().endsWith(".txt") || file.getName().endsWith(".pcf")) {
     cf.HexFinder(inFileName, null, null, null);
   }else {
    System.out.println("File was not of correct type");
   }
  }
 }
}
于 2013-09-06T12:00:37.350 に答える