Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Eclipse中读取项目中的.txt文件_Java_Eclipse - Fatal编程技术网

Java 在Eclipse中读取项目中的.txt文件

Java 在Eclipse中读取项目中的.txt文件,java,eclipse,Java,Eclipse,我知道这个问题已经被问了很多次了,但尽管我遵循了这些链接中的所有建议,但最终还是得到了文件未找到错误 这些是我已经检查过的链接 所以请不要让触发器高兴地将其标记为重复 其中一个原因是,大多数链接似乎都交替使用ClassPath和BuildPath这个词,它们是同一个词吗?因为在我的IDE中,我似乎找不到任何与ClassPath相关的东西,它只是BuildPath 这是我的目录结构 调用方类需要该文件 嗯,我已经尝试了链接中的几乎所有内容,但仍然无法读取文件 读取文件的代码在这里 Stri

我知道这个问题已经被问了很多次了,但尽管我遵循了这些链接中的所有建议,但最终还是得到了文件未找到错误

这些是我已经检查过的链接

所以请不要让触发器高兴地将其标记为重复

其中一个原因是,大多数链接似乎都交替使用ClassPath和BuildPath这个词,它们是同一个词吗?因为在我的IDE中,我似乎找不到任何与ClassPath相关的东西,它只是BuildPath

这是我的目录结构

调用方类需要该文件

嗯,我已经尝试了链接中的几乎所有内容,但仍然无法读取文件

读取文件的代码在这里

String path = "DataSource/data1.txt";
        String jsonData = null;

        try {

            jsonData = Reader.readFile(path);
        } catch (Exception e) {
            e.printStackTrace();
        }
感谢您的帮助。

试试看

String path=“src/main/java/DataSource/data1.txt”

了解您在eclipe中的执行点位于项目根

但是,您可能希望将此类资源打包到您的jar上。如果是这样,您需要使用以下内容:

jsonData=Reader.readFile(Caller.class.getResourceAsStream(“DataSource/data1.txt”)

最后,将.txt文件移动到'src/main/resources',因为这是一个很好的做法。

试试看

String path=“src/main/java/DataSource/data1.txt”

了解您在eclipe中的执行点位于项目根

但是,您可能希望将此类资源打包到您的jar上。如果是这样,您将需要使用以下内容:

jsonData=Reader.readFile(Caller.class.getResourceAsStream(“DataSource/data1.txt”)


最后,将.txt文件移动到'src/main/resources',因为这是一个很好的实践。

TermClassPath与java代码编译和执行相关,而TermBuildPath与IDE(即Eclipse)相关。IDE在构建和运行应用程序/程序时自动将添加到BuildPath的库添加到类路径

“调用者类需要文件”,然后您可以通过两种方式提供文件路径

  • 提供绝对文件路径
  • 提供您正在执行的相对路径,但请确保该路径相对于您运行程序的当前位置。对于IDE,相对路径应该来自项目目录
    术语类路径与java代码编译和执行相关,术语构建路径与IDE(即Eclipse)相关。IDE在构建和运行应用程序/程序时自动将添加到BuildPath的库添加到类路径

    “调用者类需要文件”,然后您可以通过两种方式提供文件路径

  • 提供绝对文件路径
  • 提供您正在执行的相对路径,但请确保该路径相对于您运行程序的当前位置。对于IDE,相对路径应该来自项目目录
    那么代码在哪里呢?非java文件不属于
    src/main/java
    ,而是属于
    src/main/resources
    。另外:“我仍然无法读取文件。”-您遇到了什么错误?我遇到了以下错误
    java.io.FileNotFoundException:DataSource/data1.txt(没有这样的文件或目录)
    @Sombriks有正确的答案。在构建web应用程序时,几乎不应该使用te java.io.File类。始终使用流。那么代码在哪里呢?非java文件不属于
    src/main/java
    ,而是属于
    src/main/resources
    。另外:“我仍然无法读取文件。”-您遇到了什么错误?我遇到了以下错误
    java.io.FileNotFoundException:DataSource/data1.txt(没有这样的文件或目录)
    @Sombriks有正确的答案。在构建web应用程序时,几乎不应该使用te java.io.File类。始终使用流。第一种方法有效,我是否可以使用第二种方法来使用字符串而不是输入流。我的意思是,我的读取器使用的是字符串参数而不是inputStream。Hello@Zeus,还有其他选项,这是exemaple的选项:读取字节,然后使用这些字节创建新字符串。但是.jar文件的限制仍然存在。如果在某个时候,您的资源被打包,那么只有类路径资源可以帮助您。第一种方法有效,我是否可以使用第二种方法来使用字符串而不是输入流。我的意思是我的阅读器使用字符串参数而不是输入流。Hello@Zeus,还有其他选项,对于exemaple来说,这是一个:您读取字节,然后用这些字节创建一个新字符串。但是.jar文件的限制仍然存在。如果在某个时候,您的资源被打包,那么只有类路径资源可以帮助您。