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组件, ...
随机推荐
- 显式提交/隐式提交 //ajax方式的隐式提交
//创建jqueryAjax.html文件 <!DOCTYPE html><html><head><meta charset="UTF-8" ...
- qr 生成二维码
package com.common; import com.swetake.util.Qrcode; import jp.sourceforge.qrcode.QRCodeDecoder; impo ...
- SWE_Browser编译
QRD从android4.4开始使用SWE_Browser,android原始代码中不再提供Browser.最近在做一个QRD8916_113517 CMCC入库版本,需要使用SWE_Browser. ...
- TCP与UDP传输协议
目录结构: contents structure [-] 1 TCP协议和UDP协议的比较 1.1 TCP协议 TCP的全称是Transmission Control Protocol (传输控制协议 ...
- Navicat for MySQL连接出错:1251
平台:window10 x64+mysql-8.0.15-winx64+navicat_trial_11.1.20.0(PatchNavicat破解) 错误提示:1251-Client does no ...
- 2019.02.09 bzoj2560: 串珠子(状压dp+简单容斥)
传送门 题意简述:nnn个点的带边权无向图,定义一个图的权值是所有边的积,问所有nnn个点都连通的子图的权值之和. 思路: fif_ifi表示保证集合iii中所有点都连通其余点随意的方案数. gig ...
- java 后台 post请求 携带参数 远程操作 调用接口
package com.huayu.tizong.matchteam.util; import java.io.BufferedReader; import java.io.IOException; ...
- 通过html文件生成PDF文件
/// <summary> /// 获取html内容,转成PDF(注册) /// </summary> public void DownloadPDFByHTML(string ...
- UVa 1610 Party Games(思维)
题意: 给出一系列字符串,构造出一个最短字符串(可以不在集合中)大于等于其中的一半,小于另一半. 析:首先找出中间的两个字符串,然后暴力找出最短的字符串,满足题意. 代码如下: #include &l ...
- Nios内部RAM固化配置
选择BSP Editor->Settings ->Advanced->hal->linker,然后勾选allow_code_at_reset.当然如果勾选enable_alt_ ...