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



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

树干
——工作/src
——资源

我在工作/src下的包内有一个java文件,我正试图检索资源中的文件。我使用的路径是"../resources/file.txt"。然而,我得到一个错误,说文件不存在。

任何帮助将不胜感激,谢谢!

考虑到你的结构

我有一个像

这样的包树干

    工作/src/FileRead.java
  • 资源/名称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();
    }
}

文件将相对于您的项目路径被引用,所以使用"resources/file.txt"来引用文件。

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

这取决于您如何在eclipse中指定Java构建路径。我测试了两种设置,结果不同:

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

所以eclipse包含了一个简单的构建过程,并对开发人员隐藏了它,但它仍然是一个构建过程。

相关内容

  • 没有找到相关文章

最新更新