记录一个bug 关于 java 解压缩包 写入本地报错 :java.io.FileNotFoundException(系统找不到指定的路径。)
第一想法是路径问题:
1.检查文件路径是否正确
2.另外,使用OutputStream时,如果文件不存在,会自动创建文件。
但是,如果文件夹不存在,就会报错"系统找不到指定的路径"
解决方法:
1.检查文件名是否正确
2.检查文件后缀是否正确
BUT 这是直接原因并不是 根本原因。。。。。。
原始罪恶:
其实是 我上传的压缩包有问题,因为业务原因,我调整了压缩包里边的文件结构(包括新建文件夹 移动文件等等) 所以 解压缩 生成路径的时候 会将某些文件夹 默认为 文件的名字 比如 我是文件夹/我是文件.txt ; 程序会默认前面这句话为文件名,也就会导致 路径其实是 少了: 我是文件夹 这块。
所以 我导致这个bug的原因就是 在压缩文件中 直接操作了文件;正确的操作手法应该是 解压了 在操作里边的文件 然后 再打包 就不会出现这个问题了!
困扰了我半个小时的bug 就这样 真的服了自己。。。。。。