我的方法找不到目录中的文件

时间:2012-02-15 09:13:28

标签: java io

public class Cww {
static List<String> readFile(String filename) {
    List<String> records = new ArrayList<String>();
    try {
        BufferedReader reader = new BufferedReader(new FileReader(filename));
        String line;
        while((line = reader.readLine()) != null)
        {
            records.add(line);
        }
        reader.close();
        return records;
    } catch(Exception e) {
        System.out.println(e);
        return null;
    }
}

和我的主要:

readFile("DirList.java");

    File file = new File("DirList.java");
    System.out.println(file.getCanonicalPath());

// CLASSPATH: .;..;J:\Programowanie\eclipse workspace\tij;C:\Program Files\Java\jre7\lib\ext\QTJava.zip

output: java.io.FileNotFoundException: DirList.java (Nie można odnaleźć określonego pliku)
J:\Programowanie\eclipse workspace\Rozdzial 18 cwiczenia\DirList.java

file.getCanonicalPath()显示jvm正在搜索我的文件,但我的fileRead方法仍然给我错误,

我是否需要在类路径中包含每个项目文件夹以从中读取文件?

提前致谢

2 个答案:

答案 0 :(得分:1)

File构造函数参数是绝对或相对文件名。它不会使用类路径,文件名是 - 如果不是绝对的 - 总是相对于当前工作目录。

答案 1 :(得分:1)

FileReader(filename)将在执行java代码的目录中打开“DirList.java”(相对路径)。它与CLASSPATH无任何关系。