如何用7-Zip 把文件压缩成rar文件???

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用7-Zip 把文件压缩成rar文件???相关的知识,希望对你有一定的参考价值。

先用
7-z
压缩,然后修改后缀名
.7z
为.rar
,用rar打开时,会显示
7z
文件,也可以正常解压7z
只有.7z
.tar
.zip
这三种模式,至少我这里只有这三种你用7z
压一下,然后修改成
.rar
文件,再用
rar打开,看看它是乍样的,再解压,看看又是乍样的就明白为何是
.rar
而显示是
7z
文件了
参考技术A 7z使用最新LZMA压缩算法,压缩性能在某些情况比RAR的PPM算法高一些。并且7z支持更大的字典,当然内存占用会高一些。另外,WinRAR支持7z的压缩和解压,并且默认关联7z文件。事实上,如果只装了WinRAR这一款压缩软件,所有受支持的格式的压缩包看起来都一个样子。 参考技术B 7z不支持RAR的压缩,仅支持解压,因为RAR的压缩算法是有专利和版权的。 参考技术C 如果像你所说,那用7z压缩的文件,其后缀名应当不是rar,这用7z试过,它的后缀名是7z,而这个文件的后缀名却是rar呀,这又是为什么呢?? 参考技术D 先谢谢楼上的回答,那为什么我用winrar双击打开时,发现其属性显示是7-Zip
文件,如果它真不是7-Zip
文件,那可能是用什么软件进行压缩的,比用winrar压缩的要小得多。。

java压缩文件成zip,rar

package test3;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

public class Test3_2 {
	public static void main(String[] args) {
		zipMultiFile("E:/temp/a", "C:/Users/Administrator/Desktop/zipTest.rar", true);
	}

	/**
	 * 压缩整个文件夹中的所有文件,生成指定名称的zip压缩包
	 * 
	 * @param filepath 文件所在目录
	 * @param zippath  压缩后zip文件名称
	 * @param dirFlag  zip文件中第一层是否包含一级目录,true包含;false没有
	 */
	public static void zipMultiFile(String filepath, String zippath, boolean dirFlag) {
		try {
			File file = new File(filepath);// 要被压缩的文件夹
			File zipFile = new File(zippath);
			ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(zipFile));
			if (file.isDirectory()) {
				File[] files = file.listFiles();
				for (File fileSec : files) {
					if (dirFlag) {
						recursionZip(zipOut, fileSec, file.getName() + File.separator);
					} else {
						recursionZip(zipOut, fileSec, "");
					}
				}
			}
			zipOut.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private static void recursionZip(ZipOutputStream zipOut, File file, String baseDir) throws Exception {
		if (file.isDirectory()) {
			File[] files = file.listFiles();
			for (File fileSec : files) {
				recursionZip(zipOut, fileSec, baseDir + file.getName() + File.separator);
			}
		} else {
			byte[] buf = new byte[1024];
			InputStream input = new FileInputStream(file);
			zipOut.putNextEntry(new ZipEntry(baseDir + file.getName()));
			int len;
			while ((len = input.read(buf)) != -1) {
				zipOut.write(buf, 0, len);
			}
			input.close();
		}
	}
}

以上是关于如何用7-Zip 把文件压缩成rar文件???的主要内容,如果未能解决你的问题,请参考以下文章

如何用7 zip压缩和解压文件

我用7-zip压缩文件,压缩后怎么还是RAR的图标?

用win rar压缩的文件能用7-ZIP解压吗

用win rar压缩的文件能用7-ZIP解压吗

如何用7-zip分割文件

7-ZIP怎么对文件进行分卷压缩??