gpt4 book ai didi

java - 从 txt 文件中压缩 byte[]

转载 作者:行者123 更新时间:2023-12-02 08:09:31 25 4
gpt4 key购买 nike

我需要读取一个 txt 文件,将其从 UTF8 转换为 ISO8859-1 并将文本文件存储到 zip 中。

这是我到目前为止得到的:

Charset utf8charset = Charset.forName("UTF-8");
Charset iso88591charset = Charset.forName("ISO-8859-1");

File file_in = new File("Input/file1.txt");
File file_out = new File("Output/file_out.txt");

try {
FileInputStream fis = new FileInputStream(file_in);
BufferedInputStream bis = new BufferedInputStream(fis);
byte fileContent[] = new byte[(int)file_in.length()];

bis.read(fileContent);

ByteBuffer bb = ByteBuffer.wrap(fileContent);
CharBuffer data = utf8charset.decode(bb);
ByteBuffer outputBuffer = iso88591charset.encode(data);
byte outputData[] = outputBuffer.array();

FileOutputStream fos = new FileOutputStream(file_out);
BufferedOutputStream bos = new BufferedOutputStream(fos);
bos.write(outputData);
bos.close();

} catch ...

我是否必须创建 txt 文件,再次读取它并使用 ZipOutputStream 将其压缩?或者有没有办法使用txt文件的byte[]来创建zip??

最佳答案

简短的回答是肯定的,您可以直接从字节数组写入 zip。

查看以下文档:java.util.zip.ZipOutputStream.write()。它采用字节数组、起始偏移量和长度作为参数。

从那里应该是不言自明的。

只是警告您,并非所有 UTF-8 都可以编码为 ISO8859-1。

关于java - 从 txt 文件中压缩 byte[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7664369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com