專案打jar包讀取外部檔案問題
阿新 • • 發佈:2019-09-19
可以用如下方式,實現在jar包中讀取外部配置檔案。
方法一:
關鍵程式碼。
讀取properties檔案方法:
InputStream ins = getClass().getResourceAsStream("/resource/dbconfig.properties");
但是log4j.xml 又需要單獨處理:
PropertyConfigurator.configure(System.getProperty("user.dir") + "/resource/log4j.xml");
方法二:
配置檔案out.properties和jiar包在同一個目錄下面:
FileInputStream inputStream1 = new FileInputStream("out.properties");
配置檔案in.properties在jar包內部:
InputStream inputStream2 = a.class.getResourceAsStream("/in.properties");
import java.io.*;
public class census {
public static void main(String[] args) throws IOException {
System.out.println("開始執行");
//檔案位元組流獲取檔案
InputStream is = new FileInputStream(args[0]);
// 將位元組輸入流轉化成字元輸入流,並設定編碼格式,InputStreamReader為 Reader 的子類
InputStreamReader isr = new InputStreamReader(is, "UTF-8");
// 使用 BufferedReader 進行讀取
BufferedReader br = new BufferedReader(isr);
String line = null;
//網友推薦更加簡潔的寫法
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
System.out.println("結束執行");
}