EasyZip/ZipFile.cs
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.IO;
using System.IO.Compression;
using System.Runtime.Serialization.Formatters.Binary;
namespace EasyZip
{
public class ZipFile
{
private readonly List<FileInfo> _singleFiles = new List<FileInfo>();
private readonly List<DirectoryInfo> _directories = new List<DirectoryInfo>();
private string _token;
public ZipFile()
{
_token=AppContext.BaseDirectory+"\test.zip";
}
public ZipFile(string token)
{
_token = token;
}
public void AddFile(FileInfo file)
{
_singleFiles.Add(file);
}
public void AddDirectory(DirectoryInfo directory)
{
_directories.Add(directory);
}
private void CollectDirectory(string root, DirectoryInfo directory, ZipFileInfoCollection zipFiles)
{
foreach (FileInfo file in directory.GetFiles())
{
CollectFile(root, file, zipFiles);
}
foreach (DirectoryInfo dir in directory.GetDirectories())
{
CollectDirectory(root, dir, zipFiles);
}
}
private void CollectFile(string root, FileInfo file, ZipFileInfoCollection zipFiles)
{
using (FileStream originalFileStream = file.OpenRead())
{
if ((File.GetAttributes(file.FullName) &
FileAttributes.Hidden) != FileAttributes.Hidden & file.Extension != ".gz")
{
using (MemoryStream ms = new MemoryStream())
{
byte[] buffer = new byte[10240];
int count = 0;
while ((count = originalFileStream.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, count);
}
后面还有 79 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。