【发布时间】:2013-09-14 08:03:58
【问题描述】:
我在类 checksumFinder 中有一个方法 hexFinder。在 hexFinder 中,每个文件都被读取并命名为 good 文件或 bad 文件。然后将其放入两个 ArrayList 之一,listGoodFiles 或 listBadfiles。
这两个 ArrayList 都属于 multiFile 方法中的 checksumGUI 类。此方法为所选文件夹中的每个文件调用 hexFinder。它还会输出一条消息,显示文件夹中有多少 good 和 bad 文件。
当我将文件名添加到其中一个 ArrayList 时,没有添加任何内容。
这里有一些来自 checksumFinder 类的代码,它们可能会导致问题
class checksumFinder {
checksumGUI cg = new checksumGUI();
String hexFinder(File currentFile,...){
.... // determine file is good/bad
if (l1 == l2) {
cg.listGoodFiles.add(currentFile.getName());
} else{
cg.listBadFiles.add(currentFile.getName());
}
这是 checksumGUI 类中的 multiFile 方法
public void multiFile(JFileChooser inFileName) throws FileNotFoundException, IOException {
checksumFinder cf = new checksumFinder();
ArrayList<String> listTypeErrFiles = new ArrayList<String>();
File folderFile = inFileName.getSelectedFile();
File[] listAllFiles = folderFile.listFiles();
for (int i = 0; i < listAllFiles.length; i++) {
File currentFile = listAllFiles[i];
if (currentFile.isFile() && currentFile.getName().endsWith(".pcf")) {
cf.hexFinder(currentFile, null, null, null);
} else {
listTypeErrFiles.add(currentFile.getName());
System.out.println("-----------------------------");
System.out.println("Incorrect filetype:\n" + currentFile.getName());
System.out.println("-----------------------------\n");
}
}
JTextArea ta = new JTextArea(25, 25);
ta.setText("Folder contains " + listAllFiles.length + " files\n\n"+ "Folder has " +
listGoodFiles.size() + " good files;\n" + listGoodFiles + "\nFolder has " +
listGoodFiles.size() + " bad files;\n" + listBadFiles +"\nFolder has " +
listTypeErrFiles.size() + " file of wrong type;\n" + listTypeErrFiles);
ta.setWrapStyleWord(true);
ta.setLineWrap(true);
ta.setCaretPosition(0);
ta.setEditable(false);
JOptionPane.showMessageDialog(null,
new JScrollPane(ta),"Folder Contents", JOptionPane.INFORMATION_MESSAGE);
}
从我制作这个程序的方式来看,两个班级之间有很多变动。 (我确信它可以做得更好,但这是我知道的唯一方法)
编辑:
我已经查看过类似的问题,例如 this,但我发现没有任何有用的问题
编辑:
checksumFinder 类的(最新)代码可以在 HERE 找到。
非常感谢任何帮助,谢谢。
【问题讨论】:
标签: java list class arraylist filenames