8

我正在做一个课程项目,并使用我的教授给我们的这个代码块,一,从当前目录中获取所有文件,二,找到哪些文件是 .dat 格式的。这是代码块:

// Get all files from directory
File curDir = new File(".");
String[] fileNames = curDir.list();
ArrayList<String> data = new ArrayList<String>();

// Find files which may have data. (aka, are in the .dat format)
for (String s:fileNames)
    if (s.endsWith(".dat"))
        data.add(s);

但是,当我尝试编译和测试我的程序时,我收到以下错误消息作为响应:

Prog2.java:11: cannot find symbol
symbol  : class File
location: class Prog2
   File curDir = new File(".");
   ^
Prog2.java:11: cannot find symbol
symbol  : class File
location: class Prog2
   File curDir = new File(".");
                     ^

诚然,我在课堂上的经验很少File,所以这可能完全是我的错,但这是怎么回事?

4

3 回答 3

12

从包中导入Filejava.io.File

IE

import java.io.File;

这是该类的文档java.io.File简要说明File

于 2013-10-04T14:23:43.917 回答
1

只需在类定义前添加以下语句:

import java.io.File;

如果您使用 IDE,如 Eclipse、JDeveloper、NetBeans 等,它可以自动import为您添加语句。

于 2013-10-04T14:26:26.820 回答
1

我认为 Naveen 和 Poodle 正确地需要导入 File 类

import java.io.File;

这是另一种获取 .dat 文件的方法,对我有帮助,仅供参考 =)

这是一种效果很好的通用文件过滤方法:

String[] fileList;
File mPath = new File("YOUR_DIRECTORY");

FilenameFilter filter = new FilenameFilter() {
    @Override
    public boolean accept(File dir, String filename) {
        return filename.contains(".dat");
        // you can add multiple conditions for the filer here
    }
};

fileList = mPath.list(filter);
if (fileList == null) {
    //handle no files of type .dat
}

正如我在评论中所说,您可以向过滤器添加多个条件以获取特定文件。再次,仅供参考。

于 2013-10-04T14:39:44.677 回答