文件路径错误:在使用 ZipArchiveOutputStream 创建 ZIP 文件时,需要指定正确的文件路径和文件名,否则将无法正确生成文件。请确保指定的文件路径和文件名是正确的,并且文件不存在或者可以被覆盖。
条目名称错误:在使用 ZipArchiveOutputStream 创建或修改 ZIP 文件中的条目时,需要为每个条目指定一个唯一的名称,否则将无法正确生成文件。请确保每个条目的名称是唯一的,并且符合 ZIP 文件命名规范。
写入数据错误:在使用 ZipArchiveOutputStream 向 ZIP 文件中写入数据时,需要按照正确的格式和顺序进行写入,否则将无法正确生成文件。请确保按照指定的格式和顺序将数据写入到 ZIP 文件中,并且数据的格式和类型与指定的条目类型相匹配。
文件权限错误:在使用 ZipArchiveOutputStream 创建 ZIP 文件时,需要确保具有足够的权限来创建和修改文件。如果没有足够的权限,则可能会出现错误。请确保具有适当的文件权限,并且可以访问指定的文件路径和文件名。
如果以上方法均未能解决问题,可以尝试使用其他工具或库来生成 ZIP 文件,例如 Java 中的 ZipOutputStream 或 Apache Commons Compress 中的 ZipArchiveOutputStream。同时,也可以查看日志和错误信息,以找出问题的根本原因。
这个要分情况看,例如创建文件路径为"D:/111/222/myfile.txt"\x0d\x0a(1)当myfile.txt所在目录已经存在时:\x0d\x0aFileOutputStream fos = new FileOutputStream("D:/111/222/myfile.txt")\x0d\x0a可以创建文件。\x0d\x0a(2)当myfile.txt所在目录不存在时:\x0d\x0aFileOutputStream fos = new FileOutputStream("D:/111/222/myfile.txt")\x0d\x0a\x0d\x0a不能创建文件。需要先创建出目录,可以用\x0d\x0aFile outDir =new File("D:/111/222")\x0d\x0aoutDir.mkdirs()\x0d\x0a先创建目录,再执行new FileOutputStream("D:/111/222/myfile.txt")就可以创建文件。可以通过BufferedReader 流的形式进行流读取,之后通过readLine方法获取到流每行的内容。BufferedReader bre = null
try {
String file = "D:/test/test.txt"
bre = new BufferedReader(new FileReader(file))//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
System.out.println(str)//原样输出读到的内容
};
备注: 上面的bre就是提问者需要的流。流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)