File操作遇到的问题
最近的项目中需要对文件进行解压操作以及对文件进行上传,在本地测试的时候没有问题,但是服务器上回报错,查日志才知道原来解压的路径出了问题,原因就是"/“和windows的”",windows由于两种都能识别,因此没有问题,但是linux只能识别"/"因此路径就会出问题
1. 以后使用File.separator,而不是使用"/"或"\"
2. 对于url的分割,不要使用File.separator而应该使用"/"
对于File中的delete方法,经常会出现删除不掉报错的问题,其原因就是文件被其他资源占用中,检查所有相关的流是否被释放
apache提供了commons.io包,其中提供了对流的操作的封装,常用的有FileUtils和IOUtils
- IOUtils.copy(inputStream, outputStream)
- 使用try-with-resource
- File.forceDelete(File);