ZipOutputStream里面的out出现乱码
时间: 2023-10-22 22:23:43 浏览: 84
ZipOutputStream是用来压缩文件的Java类。如果在使用ZipOutputStream过程中出现乱码,可能是因为编码问题导致的。
可以尝试在创建ZipOutputStream对象时指定编码方式,例如:
```
ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(zipFile), Charset.forName("GBK"));
```
这里使用了GBK编码。如果你的文件名是UTF-8编码的,可以使用UTF-8编码方式:
```
ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(zipFile), Charset.forName("UTF-8"));
```
如果还是出现乱码,可以检查一下文件名是否正确,或者尝试使用其他编码方式。
相关问题
ZipEntry 压缩文件夹目录乱码
当使用ZipOutputStream进行文件压缩时,ZipEntry的中文文件名会出现乱码。这是因为ZipEntry的文件名是使用默认编码方式(一般是UTF-8)进行编码的,而有些操作系统的默认编码方式和UTF-8不同,导致了乱码的问题。
要解决这个问题,可以使用ZipOutputStream的setEncoding()方法将编码方式设置为系统默认编码方式,例如:
```
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFile));
out.setEncoding(System.getProperty("sun.jnu.encoding"));
ZipEntry entry = new ZipEntry(fileName);
out.putNextEntry(entry);
// 写入文件内容
out.closeEntry();
out.close();
```
这样就可以避免乱码问题了。
阅读全文