失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Linux不能读取目录 关于Linux上面无法读取资源目录下文件的问题

Linux不能读取目录 关于Linux上面无法读取资源目录下文件的问题

时间:2020-05-31 01:59:27

相关推荐

Linux不能读取目录 关于Linux上面无法读取资源目录下文件的问题

一开始我的代码是这样子的,读取本地子路径下的json文件

代码运行的时候,在window是可以正常的

@Override

public String getBannerStr() {

String str = "";

try {

Resource resource = new ClassPathResource("json/abc.json");

File file = resource.getFile();

str = FileUtils.readFileToString(file, "UTF-8");

} catch (Exception e) {

e.printStackTrace();

throw new BusinessException("Json信息查询出错");

}

return str;

}

但是实际上,工程是在Linux上面部署为jar包的

上面访问方式就出错了,这边一开始以为是获取资源文件的方式出问题了

后来试了几次,发现问题不是这样.

最后百度发现,在Linux中无法直接访问未经解压的文件,所以就会找不到文件。

所以只能使用流的方式对静态资源进行读取

下面是最后修改的代码

@Override

public String getBannerStr() {

String str = "";

try {

InputStream stream = getClass().getClassLoader().getResourceAsStream("json/abc.json");

BufferedReader br = new BufferedReader(new InputStreamReader(stream));

String s = "";

try {

while ((s = br.readLine()) != null) {

str = str + s;

}

} catch (IOException e) {

e.printStackTrace();

}

} catch (Exception e) {

e.printStackTrace();

throw new BusinessException("Json信息查询出错");

}

return str;

}

如果觉得《Linux不能读取目录 关于Linux上面无法读取资源目录下文件的问题》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。