1

我通过 JFileChooser 在我的 JList 中添加了一些文件。我使用下面的代码添加我的内容:

                for (File file : fileChooser.getSelectedFiles()) {
                        vector.addElement(file);
                 }
                System.out.println("Added..!!");
                list.updateUI();

现在添加文件后,我想检查 JList 中是否存在 abc.xml 或 123.txt 或任何其他特定文件。谁能建议我如何检查 JList 中的特定文件?

我尝试过以这种形式使用迭代器;

            Iterator<File> it = vector.iterator();
                 while(it.hasNext())
                         if(it.next().getName().equals("abc.xml")) 
                 System.out.println("Yes..abc.xml exists");     
                     else 
            System.out.println("OOPS! abc.xml does not exist");

但是,这并不能解决我的目的,因为它没有特别考虑文件。例如,如果我的输入是 1.xml、2.xml 和 abx.xml,我得到的输出是,文件不存在,文件不存在,文件存在。

你们中的任何人都可以指导我完成这个...

4

1 回答 1

3
File abc = new File("abc.xml");
boolean abcExists = vector.contains(abc);

如果要修复算法,请使用布尔变量:

boolean exists = false;
for (File f : vector) {
    if (f.getName().equals("abc.xml")) {
        exists = true;
        break; // no need to continue the loop
    }
}
if (exists) {
    System.out.println("Yes..abc.xml exists");     
else {
    System.out.println("OOPS! abc.xml does not exist");
}
于 2012-05-02T10:46:57.957 回答