可以用如下方式,实现在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("结束执行");
}