Eclipse如何在同一个项目下的不同src中引用文件

时间:2011-09-09 16:46:38

标签: eclipse file reference src filereference

我目前在eclipse中的设置是这样的:

躯干
- 工作/ src目录
--resources

我在work / src下的包里面有一个java文件,我试图在资源中检索一个文件。我使用的路径是“../resources/file.txt”。但是我收到一条错误消息,说该文件不存在。

任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:2)

考虑您的结构

我有像

这样的包

躯干

  • 工作/ SRC / FileRead.java
  • resources / name list.txt

以下代码可能会解决您的问题

 package working.src;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;

public class FileRead {
    public FileRead() {
        URL url = getClass().getResource("/resources/name list.txt");
        try {
            BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
            String nameList;
            while ((nameList = in.readLine()) != null) {
                System.out.println(nameList);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        new FileRead();
    }
}

答案 1 :(得分:0)

将相对于您的项目路径引用文件,因此请使用“resources / file.txt”来引用该文件。

但是,如果您希望在将程序导出为JAR时可以访问该文件,则必须存在相对于JAR的路径“resources / file.txt”。

答案 2 :(得分:0)

这取决于您在eclipse中如何指定Java Build Path。我测试了两种不同结果的设置:

  1. 仅将目录working/src定义为构建路径。您可以通过以下方式获取构建路径中的信息:Select project > Properties > Java Build Path > Tab Source。列出了所有源文件夹。你看到有一个默认的输出文件夹定义。构建路径中包含的所有资源都将复制到默认输出文件夹,然后可用于那里的eclipse类。如果资源在那里复制,您可以在bin文件夹的资源透视图中检查它。在此设置中,仅生成类,不复制资源(因此未找到)。
  2. 将目录working/srcresources定义为构建路径。然后复制资源,然后通过路径“file.txt”
  3. 找到

    所以eclipse有一个简单的构建过程,并且隐藏了开发人员的内容,但它仍然是一个构建过程。