我想讀取我的資源文件夾中的文本文件進行測試。我已經嘗試了至少3種不同的實現,可以在Windows上正常工作,但它們都在Linux上失敗。無法從linux上的資源加載文本文件
當前項目看起來像
/src/test/java
/com/my/app/util/Class_needs_text.java
/src/test/resources
/com/my/app/util/text_file.txt
Class_needs_text.java
...
private static final String LOADTHIS = "/com/my/app/util/text_file.txt";
private static final String LOADTHAT = "text_file.txt";
// both of these work on windows, but not linux
java.net.URL url = Class_needs_text.class.getResource(LOADTHIS);
java.nio.file.Path resPath = java.nio.file.Paths.get(url.toURI());
fileContents = new String(java.nio.file.Files.readAllBytes(resPath), "UTF8");
我檢查linux和文本文件被複制到兩個上構建的類文件夾目錄。 (./src/test/resources/com/my/app/util/text_file.txt到 ./target/test-classes/com/my/app/util/text_file.txt)
很抱歉,如果這是方式太冗長。懸崖:我需要在Windows和Linux中讀取位於文本文件中的資源文件夾的內容。
是否使用Eclipse的一個非靜態方法?如果您正在從Eclipse運行程序,請確保將/ src/test/resources設置爲源文件夾。 –
我從Maven運行。我會看看我的任何maven設置是不同的Windows與Linux。 – Rick
看看您是否可以使用Class_needs_text.classgetResourceAsStream() –