linux部署出现java文件操作报错:java.io.FileNotFoundException解决办法
1.报错场景:

其中的 ip2region.xdb 文件是放在 resources 文件夹中的,然后在一个工具类里面读取这个文件,在开发环境中的是这样读取的:
ClassPathResource resource = new ClassPathResource("ip2region.xdb");
//获取真实文件路径
String path = resource.getURL().getPath();
byte[] cBuff = Searcher.loadContentFromFile(path);然后部署到linux上后,就出现了错误,报 java.io.FileNotFoundException
2.解决方法:
ClassPathResource resource = new ClassPathResource("ip2region.xdb");
InputStream inputStream = resource.getInputStream();
byte[] bytes = IOUtils.toByteArray(inputStream);在部署环境,要使用 InputStream inputStream = resource.getInputStream(); 这个方法
3.用java读取linux系统上的指定文件
File file = new File("/usr/webapps/MP/ip2region.xdb");
if (file.exists()) {
System.out.println("文件存在");
} else {
System.out.println("文件不存在");
}
if (file.isFile()) {
System.out.println("是一个文件");
} else {
System.out.println("不是一个文件");
}
if (file.canRead()) {
System.out.println("可读");
} else {
System.out.println("不可读");
}
if (file.canWrite()) {
System.out.println("可写");
} else {
System.out.println("不可写");
}总结
到此这篇关于linux部署出现java文件操作报错:java.io.FileNotFoundException解决办法的文章就介绍到这了,更多相关:java.io.FileNotFoundException报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
深入浅析drools中Fact的equality modes
这篇文章主要介绍了drools中Fact的equality modes的相关知识,本文通过图文实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-05-05
Java 8对LinkedHashSet元素进行排序的操作方法
LinkedHashSet 是 Java 集合框架中的一个类,它继承自 HashSet,并实现了 Set 接口,然而,LinkedHashSet 不支持元素的排序,它仅仅保持插入顺序,所以本文给大家介绍了Java 8 如何对 LinkedHashSet 元素进行排序,需要的朋友可以参考下2024-11-11
Spring Boot配置线程池拒绝策略的场景分析(妥善处理好溢出的任务)
本文通过实例代码给大家介绍下如何为线程池配置拒绝策略、如何自定义拒绝策略。对Spring Boot配置线程池拒绝策略的相关知识感兴趣的朋友一起看看吧2021-09-09
Spring Cloud OpenFeign模版化客户端搭建过程
OpenFeign是一个显示声明式的WebService客户端。使用OpenFeign能让编写Web Service客户端更加简单,这篇文章主要介绍了Spring Cloud OpenFeign模版化客户端,需要的朋友可以参考下2022-06-06


最新评论