java依赖的外部文件路径的获取
2023-09-14 08:57:20 时间
在开发阶段一直使用以下方式调试没有问题:
String path = KStream104.class.getResource("/").getFile().toString();
File database = new File(path + Constants.geoIPFile);
但是,打包编译后,放到linux环境下,发现报空指针错误,这里的getResource("/")
不再起作用了,并且返回值为null。
后面采用了下面的方式:
static {
String path = null;
try {
URL url = KStream104.class.getResource("/");
//获取当前用户的绝对路径
String userdir = System.getProperty("user.dir");
if(url!=null){ // 先判断url
path = url.getFile();
}
else if(StringUtils.isNotBlank(userdir)){ //再判断userdir
path = userdir.endsWith("/") ? userdir : userdir + "/";
} else { //否则为空
path = "";
}
System.out.println("path:" + path);
log.info(path + Constants.geoIPFile);
File database = new File(path + Constants.geoIPFile);
reader = new DatabaseReader.Builder(database).build();
} catch (IOException e) {
log.error(e.getMessage());
}
}
相关文章
- 大数据必学Java基础(五十二):集合的深入了解
- java局域网发送文件_Java如何实现局域网文件传输代码案例分享
- java 上传文件接口_Java接口实现文件上传
- java 删除目录下所有文件_Java删除文件、目录及目录下所有文件的方法实例
- java删除文件目录及文件_Java删除文件,目录
- java 输出_java怎么输出
- java下载文件下载不动_java文件下载的问题
- java源程序文件扩展名_JAVA源代码的扩展名为( )
- java oracle数据备份_Java实现Oracle数据库备份
- Java文件路径/服务器路径的获取
- Java中如何解析SQL语句、格式化SQL语句、生成SQL语句?
- Java学习笔记 (多态、接口、抽象类)
- Java执行外部程序并返回结果详解编程语言
- Java基础之多线程实例详解编程语言
- 时间使用Java设置Redis过期时间的简单方法(redisjava过期)
- 数据Java操作MySQL库:获取你所需的数据(java获取mysql)
- Java模拟Oracle实现稳定数据库性能(java模仿oracle)
- java正则表达式获取url的host示例
- java解压zip文件示例
- 浅析java创建文件和目录