Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java、归档、Linux和;西里尔语_Java_Linux_Character Encoding_Tar - Fatal编程技术网

Java、归档、Linux和;西里尔语

Java、归档、Linux和;西里尔语,java,linux,character-encoding,tar,Java,Linux,Character Encoding,Tar,我试着用java编写一个archiver,用正确的西里尔文文件名创建TAR或ZIP存档,然后在linux中打开。 在windows中,我使用org.apache.tools.zip,来自ant: ZipOutputStream.setEncoding("cp866"); 但linux中的file roller(归档管理器)不理解它。org.apache.tools.tar中不存在setEncoding()方法。我还尝试使用其他支持西里尔文的编码,如cp1251、utf-8、koi-8r,但没

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

ZipOutputStream.setEncoding("cp866"); 

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

您的文件可能创建的文件正确,问题在于文件滚轮。 众所周知,它无法检测文件名的编码。见和

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

7zip适合我,用utf8编码西里尔字母。文件滚轮、Ark和所有其他实际上执行解压的程序都会损坏我系统中的文件名