1.读取resource目录下的文件
/**
* 读取resource中的文件
*/
private static void readCurrent() {
try {
InputStream in = FilePath.class.getResourceAsStream("/a.properties");
Properties properties = new Properties();
properties.load(in);
System.out.println(properties.getProperty("name"));
System.out.println(properties.getProperty("password"));
} catch (Exception e) {
e.printStackTrace();
}
}
2.读取jar包同级目录下的文件
public static void readFile() {
try {
String path = System.getProperty("user.dir") + "/a.properties";
File file = new File(path);
if (file.isFile()) {
System.out.println("找到文件");
} else {
System.out.println("未找到相应文件");
}
} catch (Exception e) {
}
}
在IDE中运行的没有问题,但是发布之后发现了问题,user.dir和java -jar命令执行程序所在目录有关系
然后写个测试样例测试一下,发现和执行目录有关系,如果想使用user.dir这个方法,就要注意jar运行的目录问题。
public static void main(String[] args) {
String useDir = System.getProperty("user.dir");
System.out.println(useDir);
}