我想创建一个程序来将文件夹中的某些文件转换为单个二进制文件,以便稍后我可以从二进制文件中读取文件。 所以我创建了一个archivation方法,但我真的不知道如何在不拆包的情况下从二进制文件中读取文件......
一些代码:
public static void PackFiles()
{
using (var doFile = File.Create("root.extension"))
using (var doBinary = new BinaryWriter(doFile))
{
foreach (var file in Directory.GetFiles("Data"))
{
doBinary.Write(true);
doBinary.Write(Path.GetFileName(file));
var data = File.ReadAllBytes(file);
doBinary.Write(data.Length);
doBinary.Write(data);
}
doBinary.Write(false);
}
}
另外,我可以为二进制文件设置一种“密码”,这样只有知道了密码才能解压缩吗?
P.S:我不需要拉链:)
答案 0 :(得分:2)
我认为最好的方法就是使用ZIP。
有一个稳定而快速的库名为dotnetzip
使用密码的示例:
using (ZipFile zip = new ZipFile())
{
zip.Password= "123456!";
zip.AddFile("ReadMe.txt");
zip.AddFile("7440-N49th.png");
zip.AddFile("2005_Annual_Report.pdf");
zip.Save("Backup.zip");
}