框架:nutzboot
最近公司要再平台上搞点数据,大概十几万吧,但是java读取那么大的数据的时候,会造成oom,所以我把文件分成4份,循环跑。这不是今天的重点
今天重点是当我在工具或者jar包在windows上跑的时候一切正常。但是在liunx服务器上就会报错 :
我是这样写的:
File file = new File(files);
FileInputStream fis = new FileInputStream(file);
所以猜想win和liunx机制不一样吧(windows亲民,liunx特殊,高级)
于是抱着尝试的态度直接用流读!
InputStream inputStream = this.getClass().getResourceAsStream(files);
当然 文件流本就来就是继承InputStream的
然后,完美解决,其他代码不用动,excel的工具类都是保持原样
虽然不是spring,但是道理是一样的,只要你能在win读取这个文件,然后把方式换成这样就可以!因为这个东西是java的!
如果是spring(boot) 路径可能要变下,加个 classpath:/ (盲猜,具体好像spring有自带的)
OK 解决!