gpt4 book ai didi

Java在本地读取测试源文件,但在Bamboo服务器上读取失败

转载 作者:行者123 更新时间:2023-12-02 10:47:55 24 4
gpt4 key购买 nike

位于src\test\java\irmsUtilities\General\MyTest.java中的JUnit测试从src\test\resources​\读取文件,例如 src\test\resources​\MyData1.txt。Windows box 有两种类似的实现:

private String readResourceFile(String fileName) throws IOException {  // fileName = "/MyData1.TXT"​​

StringBuilder retStr = new StringBuilder();
URL url = this.getClass().getResource(fileName);
InputStream is = url.openStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = br.readLine()) != null) { retStr.append(line).append("\n"); }
return retStr.toString();
}

或者

private String readResourceFile(String fileName) throws IOException {
StringBuilder retStr = new StringBuilder();
fileName = "src/test/resources"+fileName;
BufferedReader br = new BufferedReader(new FileReader(new File(fileName)));
String line;
while ((line = br.readLine()) != null) {
retStr.append(line).append("\n");
}

return retStr.toString();
}

上面的代码读取文件并在本地(Windows)通过测试,但无法在 Bamboo 服务器上找到文件。java.io.FileNotFoundException:src/test/resources/MyData1.TXT(没有这样的文件或目录)​

我应该如何更改 IO 以获取子 Bamboo 的测试文件?

最佳答案

Bamboo 服务器在 Linux 上运行?

对于 Windows 文件 src\test\resources​\MyData1.txt 和 src/test/resources/MyData1.TXT 是相同的; Linux文件系统区分大小写,因此MyData1.txt和MyData1.TXT是两个不同的文件。

此外,出于同样的原因(Win vs *nix)硬编码 EOL(“\n”)也是个坏主意 - 请改用 System.lineSeparator()。

关于Java在本地读取测试源文件,但在Bamboo服务器上读取失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52408872/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com