//文件转换为字节
public static byte[] File2Bytes(string path)
{
if (!System.IO.File.Exists(path))
{
return new byte[0];
}
FileInfo fi = new FileInfo(path);
byte[] buff = new byte[fi.Length];
FileStream fs = fi.OpenRead();
fs.Read(buff, 0, Convert.ToInt32(fs.Length));
fs.Close();
return buff;
}
//生成压缩文件
public static void CompressedFiles(string topDirectoryName, string zipedFileName, int compresssionLevel, string password, string comment)
{
using (ZipOutputStream zos = new ZipOutputStream(System.IO.File.Open(zipedFileName, FileMode.OpenOrCreate)))
{
if (compresssionLevel != 0)
{
zos.SetLevel(compresssionLevel);//设置压缩级别
}
if (!string.IsNullOrEmpty(password))
{
zos.Password = password;//设置zip包加密密码
}
if (!string.IsNullOrEmpty(comment))
{
zos.SetComment(comment);//设置zip包的注释
}
//循环设置目录下所有的*.png文件(支持子目录搜索)
foreach (string file in Directory.GetFiles(topDirectoryName, "*.txt", SearchOption.AllDirectories))
{
if (System.IO.File.Exists(file))
{
FileInfo item = new FileInfo(file);
FileStream fs = System.IO.File.OpenRead(item.FullName);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
ZipEntry entry = new ZipEntry(item.Name);
zos.PutNextEntry(entry);
zos.Write(buffer, 0, buffer.Length);
}
}
}
}