续:C# 趣味小程序(4)——遍历特定目录及其子目录 (应用实例,压缩指定目录下的所有文件)
来源:互联网 发布:足球大数据app 编辑:程序博客网 时间:2024/05/18 02:44
这是我迄今所知的最简单的压缩方法。使用了Java类库。
注意:必须在项目中添加对vjslib引用,程序才能通过编译。
{
String strDirectory = @"E:/工作";
static void Main(string[] args)
{
String zipFileName = "E://workBackup//" + DateTime.Now.ToString("yy_MM_dd") + ".zip";
//output stream
java.io.FileOutputStream fos = new java.io.FileOutputStream(zipFileName);
//tie to zip stream
java.util.zip.ZipOutputStream zos = new java.util.zip.ZipOutputStream(fos);
Program p = new Program();
Console.WriteLine("Enter a Directory/'s Name:" );
p.strDirectory = System.Console.ReadLine();
if (isDirectory(p.strDirectory))
{
p.zipFiles(p.strDirectory, zos);
}
else
{
Console.WriteLine("Directory is Inexistence.");
}
// Close everything
zos.closeEntry();
zos.close();
fos.close();
}
private static bool isDirectory(string p)
{
return System.IO.Directory.Exists(p);
}
private void zipFiles(String dir, java.util.zip.ZipOutputStream zos)
{
java.io.FileInputStream fis = null;
java.util.zip.ZipEntry ze = null;
//压缩目录中的文件
String[] strFiles = System.IO.Directory.GetFiles(dir);
foreach (String strfileName in strFiles)
{
// Stream with source file
fis = new java.io.FileInputStream(strfileName);
// It's our entry in zip
String strZipFileName = strfileName.Replace(strDirectory+"//", "");
ze = new java.util.zip.ZipEntry(strZipFileName);
zos.putNextEntry(ze);
sbyte[] buffer = new sbyte[1024];
int len;
// Read and write until done
while ((len = fis.read(buffer)) >= 0)
{
zos.write(buffer, 0, len);
}
//Close source stream
fis.close();
}
//深度优先遍历子目录
String[] subDirectories = System.IO.Directory.GetDirectories(dir);
foreach (String sdir in subDirectories)
{
zipFiles(sdir, zos);
}
}
}
- 续:C# 趣味小程序(4)——遍历特定目录及其子目录 (应用实例,压缩指定目录下的所有文件)
- C# 趣味小程序(4)——遍历特定目录及其子目录
- 获取指定目录及其子目录下所有文件的绝对路径
- 遍历指定目录下的所有文件和目录, 以及子目录下的文件和目录
- 查找指定目录下的特定文件 (包括子目录)
- C#遍历某目录及其子目录下所有文件的一个例子
- 获取指定目录及其子目录的所有文件(JAVA)
- Android遍历特定目录下所有文件,包含子目录的, 并删除最新创建的
- MFC遍历指定目录下的所有文件/文件夹(不遍历子目录)
- C#.NET中遍历指定目录下的文件(及所有子目录及子目录里更深层目录里的文件)
- C#.NET中遍历指定目录下的文件(及所有子目录及子目录里更深层目录里的文件)
- Linux查找当前目录及其子目录下所有包含指定字符串的文件
- 获得指定目录下的所有文件的列表(包括子目录下的文件)——VB2005
- Linux下替换指定的目录及其子目录下所有文件中的某些内容(3种方法)
- 遍历指定目录下所有子目录和子文件的函数
- 一个使用多线程删除指定目录及子目录下所有指定文件的Java程序(源码)
- 遍历指定目录下的所有文件
- Java 遍历指定目录及子目录下的文件
- 创建工具栏
- 9月18,公司的变动
- 面向对象软件设计原则
- Eclipse的启动流程
- C# 趣味小程序(4)——遍历特定目录及其子目录
- 续:C# 趣味小程序(4)——遍历特定目录及其子目录 (应用实例,压缩指定目录下的所有文件)
- 基于Java的全文索引引擎Lucene简介
- C#就是Java只不过差了一点点
- 行政区划数据数据库的设计(三)
- 创建状态栏
- 通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行
- php文件列表
- 在 ASP.NET 页面中使用 TreeView 控件
- [精华]世界500强面试题----[完整版]