立即编目!
跟踪您本地、CD-ROM 和可移动设备上的所有文件。
引言
跟踪您本地、CD-ROM 和可移动设备上的所有文件。然后将这些小型的目录与您一起携带,以及“Catalog Now!”
使用程序
主要目标是序列化以下类
[Serializable()]
public class DirectoryCollection: SortedList
{
public DirectoryCollection() : base() {}
public DirectoryCollection(IDictionary c) : base(c) {}
}
[Serializable()]
public class FilesCollection: SortedList
{
public FilesCollection() : base() {}
public FilesCollection(IDictionary c) : base(c) {}
}
[Serializable()]
public class DirectoryItem
{
public DirectoryCollection subdir;
public FilesCollection files;
public string Name;
public string Comment;
public bool isCompressed = false;
public DirectoryItem(string name)
{
Name = name;
files = new FilesCollection();
subdir = new DirectoryCollection();
}
public DirectoryItem(string name, bool iscompressed)
{
Name = name;
isCompressed = iscompressed;
files = new FilesCollection();
subdir = new DirectoryCollection();
}
}
[Serializable()]
public class FileItem
{
public string Name;
public long Size;
public DateTime Date;
public string Comment;
public FileItem(string name, long size, DateTime date)
{
Name = name;
Size = size;
Date = date;
}
public FileItem(string name, long size, DateTime date, string comment)
{
Name = name;
Size = size;
Date = date;
Comment = comment;
}
}
[Serializable()]
public class CatalogVersion
{
public string Version = "1.0";
}
[Serializable()]
public class CatalogHeader
{
public string VolumeName;
public string VolumeSerialNumber;
public uint DriveType;
public ulong Size;
public ulong FreeSpace;
public DateTime DateofScan;
}
使用 BinaryFormatter
和 ICSharpCode.SharpZipLib.dll 组件,我们可以压缩目录。
设备扫描是在可选读取压缩文件(.zip)的情况下完成的。
为了查找特定文件,可以按名称、注释、日期、大小等进行查找。
尽情享受吧!
致谢
- 感谢 Mike Krueger 对他的 #ziplib (SharpZipLib,前身为 NZipLib,用 C# 完全编写的 Zip、GZip、Tar 和 BZip2 库) 的工作。
历史
- 2004/04/05:修复权限错误。
- 2004/04/04:初始版本。