隨手寫了一個java小工具,maven打包成功后,發現工具總是讀不到打在jar包中的文件信息,要讀取的文件位於 /src/main/resources 目錄下,打包成功后,文件就在jar包中根目錄下,一直以為是路徑錯誤,之后用this.getClass().getClassLoader().getResource("").getPath();發現路徑是xxx.jar!/com/demo/..形式,路徑總是獲取不對。
之后試了一下BufferedReader in = new BufferedReader(new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream(path)));是可以獲取文件內容的。
BufferedReader in = new BufferedReader(new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream(path))); StringBuffer buffer = new StringBuffer(); String line = ""; while ((line = in.readLine()) != null){ buffer.append(line); } String input = buffer.toString();