gpt4 book ai didi

Java、文件、Linux 和西里尔文

转载 作者:太空狗 更新时间:2023-10-29 11:20:30 25 4
gpt4 key购买 nike

我尝试用 java 编写一个存档程序,它创建 TAR 或 ZIP 存档,具有正确的西里尔文文件名,然后它在 linux 中打开。在 Windows 中,我使用来自 ant 的 org.apache.tools.zip:

ZipOutputStream.setEncoding("cp866"); 

得到它,但是 linux 中的 file roller(归档管理器)不理解它。在 org.apache.tools.tar 方法 setEncoding() 中不存在。我还尝试使用其他一些支持西里尔字母的编码,例如 cp1251、utf-8、koi-8r,但没有给出任何结果。

最佳答案

您的文件可能正在正确创建文件,问题出在 file-roller 上。众所周知,它无法检测文件名的编码。参见 herehere .

尝试使用 unzip (文件名可能会出现乱码)或 p7zip直接从 shell(还有一个 java 版本 - j7zip)。

7zip 对我有用,它使用西里尔字符的 utf8 编码。 File roller、Ark 和所有其他实际上执行解压缩的程序都会破坏我系统中的文件名。

关于Java、文件、Linux 和西里尔文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5240569/

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