liunx 下用命令压缩的文件不能在win下使用问题 10C

求一个留liunx命令:加密压缩文件,这个文件可以在win下双击输入密码打开的,另外还有一个问题,

/**
* 使用指定密码将给定文件或文件夹压缩成指定的输出ZIP文件
* @param srcFile 需要压缩的文件或文件夹
* @param destPath 输出路径
* @param passwd 压缩文件使用的密码
/

public static void zip(String srcFile,String destPath,String passwd) {

AESEncrypter encrypter = new AESEncrypterBC();

AesZipFileEncrypter zipFileEncrypter = null;

try {

zipFileEncrypter = new AesZipFileEncrypter(destPath, encrypter);

/
*
* 此方法是修改源码后添加,用以支持中文文件名
/

zipFileEncrypter.setEncoding("utf8");

File sFile = new File(srcFile);

/
*
* AesZipFileEncrypter提供了重载的添加Entry的方法,其中:
* add(File f, String passwd)

* 方法是将文件直接添加进压缩文件
*

* add(File f, String pathForEntry, String passwd)
* 方法是按指定路径将文件添加进压缩文件
* pathForEntry - to be used for addition of the file (path within zip file)
*/

doZip(sFile, zipFileEncrypter, "", passwd);

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

zipFileEncrypter.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

    这个java压缩的不支持中文的问题,因为是用maven不能改源码,有办法支持中文吗
0

3个回答

windows下直接调用unrar就可以了,它是winrar带的一个解压缩dll。帮助文档有用法,或者google下也有。支持加密的zip。

0

linux压缩格式如下:*
tar命令

解包:tar zxvf FileName.tar

打包:tar czvf FileName.tar DirName

gz命令

解压1:gunzip FileName.gz

解压2:gzip -d FileName.gz

压缩:gzip FileName

.tar.gz 和 .tgz

解压:tar zxvf FileName.tar.gz

压缩:tar zcvf FileName.tar.gz DirName

压缩多个文件:tar zcvf FileName.tar.gz DirName1 DirName2 DirName3 ...

bz2命令

解压1:bzip2 -d FileName.bz2

解压2:bunzip2 FileName.bz2

压缩: bzip2 -z FileName

.tar.bz2

解压:tar jxvf FileName.tar.bz2

压缩:tar jcvf FileName.tar.bz2 DirName

bz命令

解压1:bzip2 -d FileName.bz

解压2:bunzip2 FileName.bz

压缩:未知

.tar.bz

解压:tar jxvf FileName.tar.bz

Z命令

解压:uncompress FileName.Z

压缩:compress FileName

.tar.Z

解压:tar Zxvf FileName.tar.Z

压缩:tar Zcvf FileName.tar.Z DirName

zip命令

解压:unzip FileName.zip

压缩:zip FileName.zip DirName

linux下的压缩文件,windows能打开的很少,如果是正版windows打开的文件可能多一些。linux下的文件尽量还是用linux命令去解压,
如果不能解压可能是文件传送过程已经损坏,让重新传一个就行

0

jdk1.8及以上的 版本应该就可以支持中文文件名了

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!