ZipUtil java.lang.IllegalArgumentException: UNMAPPABLE[1]
时间: 2023-11-25 09:50:22 浏览: 186
Error Encountered an improper argument
根据提供的信息,ZipUtil是一个Java类库,用于压缩和解压缩文件。而java.lang.IllegalArgumentException: UNMAPPABLE异常通常是由于编码问题引起的。这个异常表示在将字节转换为字符时,发现了无法映射的字节。这通常是因为使用了错误的字符集或编码方式。
解决这个问题的方法是使用正确的字符集或编码方式。可以尝试使用UTF-8或ISO-8859-1等常见的字符集。如果仍然无法解决问题,可以尝试使用其他字符集或编码方式,或者检查输入的字节是否正确。
以下是一个使用ZipUtil压缩和解压缩文件的例子:
压缩文件:
```java
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.zeroturnaround.zip.ZipUtil;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.nio.charset.Charset;
public class ZipUtilExample {
public static void main(String[] args) throws IOException {
// 下载文件
URL url = new URL("https://example.com/file.txt");
InputStream inputStream = url.openStream();
String content = IOUtils.toString(inputStream, Charset.forName("UTF-8")); FileUtils.write(new File("file.txt"), content, Charset.forName("UTF-8"));
// 压缩文件
ZipUtil.pack(new File("file.txt"), new File("file.zip"));
// 解压文件
ZipUtil.unpack(new File("file.zip"), new File("unzip"));
}
}
```
阅读全文