I/O小总结

//判断不存在就创建目录 ,然后拷贝文件

DirectoryInfo di = null;

if (!Directory.Exists(n.Attribute("value").Value + goalPath))
                {
                    di = Directory.CreateDirectory(n.Attribute("value").Value + goalPath);
                    FileInfo file = new FileInfo(path);
                    File.Copy(path, (di.FullName + "\\" + file.Name), true);
                }其中,
File.Copy方法表示吧文件从哪复制到哪,true的意思是可以覆盖之前有的文件,这个只能用于文件对文件的操作,不能用于文件对文件夹的操作

//显示进度条和统计数据发送多少
//countNum:总数
//value:当前数
//控件使用了跨线程的访问方式

public void ShowData(int countNum,int value)
        {

            //总数据
            if (progressBar1.InvokeRequired)
            {
                progressBar1.Invoke(new Action<int>(s => { this.progressBar1.Maximum = s; }), countNum + 2);
            }
            else
            {
                this.progressBar1.Maximum = countNum+2;
            }

            //当前数据
            if (progressBar1.InvokeRequired)
            {
                //value包括了标题行,value-1是去掉标题行
                progressBar1.Invoke(new Action<int>(s => { this.progressBar1.Value = s; }), value-1);
            }
            else
            {
                this.progressBar1.Value = value-1;
            }

            //记录进度
            if (lbRecord.InvokeRequired)
            {
                lbRecord.Invoke(new Action<string>(s => { this.lbRecord.Text = s; }), "当前数据一共:" + sheetCount + "条,已导入:" + (Convert.ToInt32(value - 1)) + "条");
            }
            else
            {
                this.lbRecord.Text = "当前数据一共:" + sheetCount + "条,已导入:" + (Convert.ToInt32(value-1)) + "条";
            }
        }
//使用config文件保存文件的根目录

//导入的时候用到的config里面的节点根目录

            XDocument document = new XDocument();
            //加载文件
            document = XDocument.Load(@"..\..\App.config");
            //读取根节点
            XElement root = document.Root;

            XElement n = root.Elements("rootFile").Where(u => u.Attribute("name").Value == "rf").ElementAt(0);

//config的设置,第一步注册

<configSections>
        <section name="rootFile" type="System.Configuration.IgnoreSectionHandler"/>
  </configSections>

//第二步创建节点

<rootFile name="rf" value="D:\影像文件\" />
//寻找对应的要导入的目录下的PDF文件
                        string[] dirs = Directory.GetFiles(this.txtFilePath.Text, fileNumber + ".pdf", SearchOption.AllDirectories);

这个可以查找各种格式的文件,是递归文件夹的查询方式,但是文件夹嵌套过多的时候还是建议使用递归的方式
//获取文件名,就是获取file.Extension扩展名以后替换成空字符串
file.Name.Replace(file.Extension, "")

//获取扩展名,这个扩展名是带点的,所以也要替换掉

file.Extension.Replace(".", "")
他们是由fileinfo类实例化来的

另外,执行多个操作数据库方法同时成功的时候要在同一个连接下使用事务con.open只执行一次就好了。trans.roolback要在异常块执行

时间: 2024-08-30 06:42:24

I/O小总结的相关文章

微信小程序--图片相关问题合辑

图片上传相关文章 微信小程序多张图片上传功能 微信小程序开发(二)图片上传 微信小程序上传一或多张图片 微信小程序实现选择图片九宫格带预览 ETL:微信小程序之图片上传 微信小程序wx.previewImage预览图片 微信小程序之预览图片 小程序开发:上传图片到腾讯云 .NET开发微信小程序-上传图片到服务器 微信小程序本地图片处理--按屏幕尺寸插入图片 [微信小程序]上传图片到阿里云OSS Python Flask小程序文件(图片)上传技巧 小程序图片上传阿里OSS使用方法 微信小程序问题汇

微信小程序——豆瓣电影——(2):小程序运行部署

Demo 预览 演示视频(流量预警 2.64MB) GitHub Repo 地址 仓库地址:https://github.com/zce/weapp-demo 使用步骤 将仓库克隆到本地: bash $ git clone https://github.com/zce/weapp-demo.git weapp-douban --depth 1 $ cd weapp-douban 打开微信Web开放者工具(注意:必须是0.9.092300版本) 必须是0.9.092300版本,之前的版本不能保证正

微信小程序开发初探

一.关于微信小程序 1.1 小程序诞生的背景 张小龙说道: (1)一切以用户价值为依归→用户是微信的核心,所以微信中没有很多与客户无关的功能,比如QQ中的乱七八糟一系列东西. (2)让创造发挥价值→所有围绕微信的创造比如公众号都应该发挥其应有的价值. (3)用完即走的高效服务→这一点就厉害了word天,微信要打造一个以微信为中心的生态链,不以绑定用户为目标.比如生活中有一些不太常用的app,我们可能一年也使用不了几次,但是有时候就需要用到,微信就想要提供这样一个平台,让你可以在微信中使用这中所谓

微信小程序连接Tornado

自己搭建Tornado 监听8000端口, 提供给小程序访问的地址为http://127.0.0.1:8000/index #!/usr/bin/env python # -*- coding:utf-8 -*- import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): def get(self): print('GET方式请求成功') self.write("123"

【小程序】获取微信 自带的 收货地址获取和整理

1.wx.chooseAddress(OBJECT) if(wx.chooseAddress){ wx.chooseAddress({ success: function (res) { console.log(JSON.stringify(res)) }, fail: function(err){ console.log(JSON.stringify(err)) } }) }else{ console.log('当前微信版本不支持chooseAddress'); } 2.数据处理,仅供参考 /

微信小程序学习总结(2)------- 之for循环,绑定点击事件

最近公司有小程序的项目,本人有幸参与其中,一个项目做下来感觉受益匪浅,与大家做下分享,欢迎沟通交流互相学习. 先说一下此次项目本人体会较深的几个关键点:微信地图.用户静默授权.用户弹窗授权.微信充值等等. 言归正传,今天分享我遇到的关于wx:for循环绑定数据的一个tips:  1. 想必大家的都知道wx:for,如下就不用我啰嗦了: <view class="myNew" wx:for="{{list}}">{{item.title}}<view

微领地小蜜app模式系统开发详解

如今企业竞争的最高境界, 不再是产品的竞争.人才的竞争.营销的竞争-- 而是一种商业模式(即赢利模式)的竞争. 微领地小蜜软件,微领地小蜜系统,小蜜APP,微领地小蜜平台,微领地小蜜开发公司,微领地小蜜服务模式,微领地小蜜商圈.O2O.C2B.B2C.F2C.B2B.C2N.C2C等微商城.App.手机网页.PC商城.小程序,微商管理系统.一物一码.防伪防窜.扫码红包.质量追溯.分销.全返.分红.拼团.互联网+直播+定制服务·系统开发提供中心. 回首过去,创新与发展裹带着机遇和挑战,微领地小蜜在

手机上也可以用的快手和火山小视频提取工具

之前分享过一个火山无水印视频提取软件,但是需要安装到电脑上,很多人觉得很麻烦. 今天分享个网页版,无需安装,并且电脑和手机都可以用的视频提取工具,支持提取快手和火山小视频里的任何视频,就连火山小视频里那种<作者不允许他人下载>的视频都可以解析,并且解析出来的视频都是没有水印的.(是不是觉得这工具特别赞,觉得赞的话,给我的文章点个赞吧??) 工具地址: 快手视频解析下载:http://kuaishou.iiilab.com/ 火山小视频解析下载:http://huoshan.iiilab.com

自制linux小系统

自制linux 今天说一说怎么自制一个linux,也就是用一块新硬盘来自己搞一个linux.硬盘拆掉撞到其他机器上可以照常使用,需要什么东西都是自己添加的哦. 那我就在虚拟机里进行了嘿嘿嘿... 1.在我的centos里加了一块新的硬盘并顺便分了个区,并且格式化了一下. [[email protected] ~]# fdisk /dev/sdb WARNING: DOS-compatible mode is deprecated. It's strongly recom mended to   

微信小程序之使用本地接口开发

本文主要讲解如何使用本地接口进行开发,很多人都会遇到这个问题,特别是小程序上线后. 一.解决思路 在小程序开发工具设置网络代理,然后再通过Charles设置代理,将https域名转为本地接口进行访问. 以下示例的环境为win7 + 老版本的微信开发工具 二.准备工作 1.配置https域名 为小程序配置request合法域名,在登录公众号平台去设置. 2.安装Charles 下载地址:https://www.charlesproxy.com/download/ 三.配置Charles 1.安装根