java - 在路径 ""src/test/resources/上找不到文件”

标签 java file unit-testing io

我的 java 测试代码尝试访问我的项目文件夹中的文件

但是我得到了 IO 异常:

   String fileContents = new String(Files.readAllBytes(
            Paths.get("src/test/resources/SenegalAndBulgariaConfig.txt")));


   String fileContents = new String(Files.readAllBytes(
            Paths.get("src/")));

它曾经有效,但现在不行了:

java.nio.file.NoSuchFileException: src/test/resources/SenegalAndBulgariaConfig.txt

    at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
    at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
    at java.nio.file.Files.newByteChannel(Files.java:361)
    at java.nio.file.Files.newByteChannel(Files.java:407)
    at java.nio.file.Files.readAllBytes(Files.java:3152)

虽然它存在:

enter image description here

最佳答案

你永远不应该依赖文件。从类路径加载InputStream

如果使用 Maven 标准目录结构,src/main/resources 和 src/test/resources 都在类路径中。

我倾向于喜欢 Apache Commons IO 库和 Spring ClassPathResource

关于java - 在路径 ""src/test/resources/上找不到文件”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50025712/

相关文章:

java - Mockito - @Spy vs @Mock

java - 是创建一个类的一个实例更好,还是为每次出现创建一个单独的实例更好?

java - AWS 设备场是否通过 Serenity BDD 和 Gradle 支持 Appium?

java - 学习核心 Java 后的客户端-服务器数据库编程

file - 如何使用shell脚本计算文件和子目录的数量?

c# - C# 单元测试中未启用 ILogger.LogLevel

ruby-on-rails - 如何从 Rails 测试套件运行单个测试?

java - while 循环中嵌套 if

javascript - 带有警报的 onchange 在 ie 中不起作用

C++如何通过忽略每行的第一个字符来读取unicode文件