java - 我的方法无法在目录中找到文件

标签 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 方法仍然给我错误,

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

提前致谢

最佳答案

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

关于java - 我的方法无法在目录中找到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9290573/

相关文章:

java - 选项菜单无法覆盖?

java - Akka DeathWatch - 查找终止原因

java.lang.illegalargumentexception :cannot set a null TableModel

java - 访问和操作Maven项目中的资源文件

c# - 如何获取文件夹的 NTFS 文件 ID

c - 用 C 提取二进制文件的最后 128 个字节

java - 如何比较java/android中的时间(以字符串形式输入)?

java - 管理多个 JVM

在 C 中关闭管道、dup2、文件描述符?

c - 为什么我们还需要 read() 和 write() 系统调用,为什么我们不能用 ioctl 系统调用来代替它们?