使用ClassLoader.getSystemResource(“file.txt”)访问的src \ resources中的文件找不到文件

时间:2016-09-18 02:03:00

标签: java

我正在尝试访问Java Netbeans项目中的文本文件,但是我一直找不到文件。

请注意我已尝试使用“src \ ....”,“resources \ ...”指定文件,并且只使用文件名。

这是我的代码:

static class Task extends TimerTask {
    // Load the directory as a resource
    URL dir_url = ClassLoader.getSystemResource("word_list_moby_credits.txt");
    // Turn the resource into a File
    File f = new File(dir_url.getFile());

    Scanner scanner = new Scanner(f);

我正在

  

找不到文件

在上面代码的最后一行。

这是我的项目:

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:2)

请尝试阅读{Source Packages} / resources中的words.txt:

public static void main(String[] args) {
    try{
        URL url = Task.class.getResource("/resources/words.txt");
        Scanner scanner = new Scanner(url.openStream());
        System.out.println("" + scanner.next());
    } catch(IOException ex) {
        ex.printStackTrace();
    }
}

如果您已经有其他主要方法并且仍希望将此代码保留在方法之外,则可以将其包装在静态块中:

static class Task extends TimerTask {
   static {
        try {
            URL url = Task.class.getResource("/resources/words.txt");
            Scanner scanner = new Scanner(url.openStream());
            System.out.println("" + scanner.next());
        } catch (IOException ex) {
            ex.printStackTrace();
        }
   }
}