C# 用户选择单个压缩-系统自带压缩
//用C#自带的压缩,最少要.net4.5或以上,先增加引用 System.IO.Compression.FileSystem
// FolderBrowserDialog dlg = new FolderBrowserDialog(); //压缩目录------显示一个标准选择文件夹对话框
OpenFileDialog dlg = new OpenFileDialog(); //显示一个标准选择文件对话框
DialogResult result = dlg.ShowDialog(); //返回对话框的值 选择值 if (result==DialogResult.OK) //如果用户在对话框选择了文件夹或文件
{
string zipPath = System.IO.Path.GetDirectoryName(dlg.FileName); //返回指定的路径
string abc = zipPath + "\\"+System.IO.Path.GetFileNameWithoutExtension(dlg.FileName); //abc=于当前目录+文件名(不包含扩展号)
System.IO.Directory.CreateDirectory(abc); //创建临时文件夹
System.IO.File.Copy(dlg.FileName, abc + "\\" + dlg.SafeFileName); //复制选择的文件
System.IO.Compression.ZipFile.CreateFromDirectory(abc, abc + ".zip"); //压 缩文件到用户选择文件的目录里 DeleteFolder( abc); //删除临时文件夹
System.Diagnostics.Process.Start("explorer.exe", zipPath); // 启动由包含进程启动信息 void DeleteFolder(string dir) //创建删除文件夹和里面的文件的方法
{
if (System.IO.Directory.Exists(dir)) //如果存在这个文件夹删除之
{
foreach (string d in System.IO.Directory.GetFileSystemEntries(dir))
{
if (System.IO.File.Exists(d))
System.IO.File.Delete(d); //直接删除其中的文件
else
DeleteFolder(d); //递归删除子文件夹
}
System.IO.Directory.Delete(dir); //删除已空文件夹
MessageBox.Show(dir + " 文件夹删除成功");
}
else
MessageBox.Show(dir + " 该文件夹不存在"); //如果文件夹不存在则提示
}
C# 用户选择单个压缩-系统自带压缩的更多相关文章
- HFun.快速开发平台(三)=》通用系统用户选择
系统中用户的选择使用特别多,将该功能统一实现可提升系统效率. 用户的选择实现相对简单,系统中基本都会提供,HFun.快速开发平台中的实现特点主要有: 1.用户的选择分为单用户选择和多用户选择. 2.用 ...
- 大数据之路week05--day01(JDBC 初识之实现一个系统 实现用户选择增删改查 未优化版本)
要求,实现用户选择增删改查. 给出mysql文件,朋友们可以自己运行导入到自己的数据库中: /* Navicat MySQL Data Transfer Source Server : mysql S ...
- 用户管理 之 Linux 系统中的超级权限的控制
在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者.普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户. 在系统中,每个文件.目录和进程,都归属于某一个用户 ...
- Android6.0动态申请权限那些坑--以及避免用户选择不再提示后无法获取权限的问题
Android 6.0 为了保护用户隐私,将一些权限的申请放在了应用运行的时候去申请, 比如以往的开发中,开发人员只需要将需要的权限在清单文件中配置即可,安装后用户可以在设置中的应用信息中看到:XX应 ...
- Winform开发框架之权限管理系统改进的经验总结(2)-用户选择界面的设计
在上篇总结随笔<Winform开发框架之权限管理系统改进的经验总结(1)-TreeListLookupEdit控件的使用>介绍了权限管理模块的用户管理部分,其中主要介绍了其中的用户所属公司 ...
- 【百度地图API】让用户选择起点和终点的驾车导航
原文:[百度地图API]让用户选择起点和终点的驾车导航 摘要: 如果用户搜索“从机场到火车站”,使用驾车导航DrivingRoute会默认显示一条结果.但同一个城市可能有多个机场和火车站,那么,如何用 ...
- Django用户登录与注册系统
一.创建项目 1.1.创建项目和app python manage.py startproject mysite_login python manage.py startapp login 1.2.设 ...
- ASP.NET Core 3.0 一个 jwt 的轻量角色/用户、单个API控制的授权认证库
目录 说明 一.定义角色.API.用户 二.添加自定义事件 三.注入授权服务和中间件 三.如何设置API的授权 四.添加登录颁发 Token 五.部分说明 六.验证 说明 ASP.NET Core 3 ...
- 自定义Vue&Element组件,实现用户选择和显示
在我们很多前端业务开发中,往往为了方便,都需要自定义一些用户组件,一个是减少单一页面的代码,提高维护效率:二个也是方便重用.本篇随笔介绍在任务管理操作中,使用自定义Vue&Element组件, ...
随机推荐
- linux-ubuntu 下R无法安装rjava模块的原因及解决方案
错误信息: 没有 /usr/lib/jvm/default-java/jre/bin/java 原因: R找不到java作为依赖 解决方案: (1) 如果你没有安装java,请先安装java. (2) ...
- random库的常见用法
import random print( random.randint(1,10) ) # 产生 1 到 10 的一个整数型随机数 print( random.random() ) # 产生 0 到 ...
- git版本控制工具的使用(3)
git remote查看远程库的信息get remote -v可以更详细,查看推送和抓取权限 git push origin master把本地的master提交到远程的库对应的主分支 gt push ...
- kbmmw 与extjs 通过JSON Base64 显示图片
delphi 官网上开始也来越多的介绍delphi与extjs 结合的例子,今天我就把官方的例子翻版一下. 官方使用C++builder 和webbroker 实现. 我使用kbmmw 来实现一下. ...
- 关于Code Review
为了保证代码质量,我们团队内部一直在推行Code Review.现在Code Review帮我们发现了很多代码的问题,提升了代码的可读性和质量,同时我们在Code Review上也花费了很多时间,有些 ...
- 学会谈判zz
经常有人问我,为什么谈判到你手里就变得那么容易?你有什么诀窍?其实只要是谈判,涉及双方利益,就绝不会轻松.之所以能谈判成功,仔细想想秘诀无非是两个字:“双赢”.要想成功,就要双方都受益.如果你一开始就 ...
- FMS4.5( Adobe Flash Media Server4.5)流媒体服务器搭建
下载FMS4.5 下载地址:http://pan.baidu.com/s/1pJLi5Ur(已更新) FMS是用于用户之间相互通讯的新平台.它集成了Flash多媒体交互的特性,又添加了实时音频和实时数 ...
- mysql 设置外键 四大属性 CASCADE SET NULL NO ACTION RESTRICT 理解
CASCADE:主表delete.update的时候,从表会delete.update掉关联记录: SET NULL:主表delete.update的时候,从表会将关联记录的外键字段所在列设为null ...
- react创建项目报错unexpected end of json while parsing near xxx
报这个错,执行下面的命令,然后重新创建项目就可以. npm cache clean --force
- 关于preg_match() / preg_replace()函数的一点小说明
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $ ...