在我们管理内容管理系统时,数据量大时,对机器的依赖性就比较强了,比如,我要将一个文件夹中的很多图片上传到网站,一个个上传会很花时间,就想到了通过遍历文件夹得到文件名,并将路径与文件保存到数据库中对应的字段。

下面写两个实例,

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApplication1
{class Program{/// <summary>/// 打开连接/// </summary>static void Main(string[] args){string dirp = @"C:\Users\sihang\Desktop\博鳌照片";           DirectoryInfo mydir = new DirectoryInfo(dirp);StringBuilder sb = new StringBuilder();foreach (FileInfo fi in mydir.GetFiles()){string thumbimg = "/uploadfiles/article/150403/" + fi.Name;string title = (fi.Name).Substring(0, fi.Name.LastIndexOf("."));string date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");string web = "新华网";string infoimg = "/uploadfiles/article/150403/" + fi.Name;//Console.WriteLine(thumbimg);//Console.WriteLine(title);//Console.WriteLine(date);//Console.WriteLine(web);//Console.WriteLine(infoimg);//Console.WriteLine("/uploadfiles/article/150403/" + fi.Name);//Console.WriteLine((fi.Name).Substring(0, fi.Name.LastIndexOf(".")));//Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));//Console.WriteLine("新华网");//sd += "insert into cc ;";sb.Append("insert into jcms_normal_content (Img,Title,AddDate,CustomField05,CustomField04,ChannelId,ClassId,IsPass,IsImg,ReadGroup,Module,TemplateId) values ('" + thumbimg + "','" + title + "','" + date + "','" + web + "','" + infoimg + "','2','12','1','1','-1','Picture','1011');\r\n");}Console.WriteLine(sb.ToString());//Console.ReadLine();
        }}
}

这是将桌面上博鳌照片的文件夹里的所有图片路径及图片名称作为标题保存到对应的字段,并将sql脚本输出到cmd窗口中去了

示例2:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;namespace WindowsFormsApplication1
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){string dirv = @"D:\video\ysxs";DirectoryInfo mydir = new DirectoryInfo(dirv);StringBuilder sb = new StringBuilder();foreach (FileInfo fi in mydir.GetFiles()){string title = (fi.Name).Substring(0, fi.Name.LastIndexOf("."));string date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");//写法1string filepath = @"D:\video\ysxs" + fi.Name;sb.Append("insert into jcms_normal_content (Title,AddDate,ClassId,Editor,IsPass,ReadGroup,Module,TemplateId,CustomField01) values ('" + title + "','" + date + "','8','admin','1','-1','news','11','" + filepath + "');\r\n");textBox1.Text = sb.ToString();//写法2//string s = @"insert into jcms_normal_content ((Title,AddDate,ClassId,Editor,IsPass,ReadGroup,Module,TemplateId,CustomField01)) values ('{0}','" + date + "','8','admin','1','-1','news','11','D:\\video\\ysxs\\{1}');";//textBox1.Text += string.Format(s, fi.Name.Replace(".txt", ""), fi.Name) + "\r\n";
            }}}
}

新建winform控制台程序,这样就能将sql输出到textbox1文本框中去了。

转载于:https://www.cnblogs.com/shy1766IT/p/4662958.html

文件夹文件遍历并插入数据库的操作,IO Directory File的递归操作相关推荐

  1. 递归算法和文件队列算法----实现多级文件夹的遍历,删除和复制操作

    递归算法和文件队列算法,均可实现多级文件夹的遍历.删除.和复制操作.现将这些方法封装在FolderTools工具类中.此外,文件队列的实现还需要类MyQueue<E>. 代码如下: imp ...

  2. mysql 直接从date 文件夹备份表,还原数据库之后提示 table doesn`t exist的原因和解决方法

    mysql 直接从date 文件夹备份表,还原数据库之后提示 table doesn`t exist的原因和解决方法 参考文章: (1)mysql 直接从date 文件夹备份表,还原数据库之后提示 t ...

  3. python os.walk 指定遍历深度_python遍历文件夹,指定遍历深度与忽略目录的方法

    背景 需要在文件夹中搜索某一文件,找到后返回此文件所在目录.用最常规的os.listdir()方式实现了一版,但执行时报错:递归超过最大深度.于是自己添加了点功能,之所有写此函数是为了让它适应不同的项 ...

  4. 文件夹的遍历(递归)

    public class ReadDir {/*** 根据初始层级读取文件夹* @param dir 目标文件夹* @param level 当前层级*/public void read(File d ...

  5. 【Java入门】使用Java实现文件夹的遍历

    遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解.本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些! 一.使用递归遍历文件夹 整体思路 ...

  6. python 使用sort()函数和正则表达式(lambda)对os.listdir()获取的文件夹文件列表进行重新排序 乱序排序

    # 排序函数,对文件列表进行排序 # 排序函数,对文件列表进行排序(filenames为文件夹文件的文件名的字符串列表) def sort_filenames(filenames):# (1)可以以l ...

  7. java 获取文件所在的文件夹_【Java视频教程】day32-文件IO??

    File类&递归 File类 File类简介 任何数据在存储设备(硬盘.光盘.U盘等等)都是以二进制存储.但是体现出来的文件或文件夹.所以在Java中提供File类,它是专门操作文件或文件夹的 ...

  8. VB 详细枚举指定目录、文件夹文件列表

    VB 详细枚举指定目录.文件夹文件列表: Public Function TheFileAttr(P As String) As String '读取指定文件/文件夹属性     On Error G ...

  9. Python批量修改单个文件夹文件后缀

    今天下载了视频,但是视频格式是.mkv的,唱戏机不支持mkv格式,所以需要将后缀改成.mp4(其他文件格式也可以),由于视频比较多一个一个的更改比较麻烦,所以想到了用python来进行批量修改. 首先 ...

最新文章

  1. 排序算法四:归并排序
  2. wxWidgets的一些资源
  3. sql中union和union all的区别
  4. java socket ip_JAVA 网络编程 TCP/IP、Socket 和协议设计
  5. 教你win10怎么设置环境变量
  6. axios_的其他方式发送请求_使用axios.request .get .delete .post .put 等方法发送请求---axios工作笔记005
  7. 10 种最流行的 Web 挖掘工具!
  8. .NET程序的代码混淆、加壳与脱壳
  9. 二次开发—Ribbon界面
  10. 学校固定资产管理系统由谁来做,云呐RFID固定资产管理系统
  11. HighNewTech:Gartner发布2023年十大战略技术趋势《Gartner Top 10 Strategic Technology Trends for 2023》翻译与解读
  12. waning rm -i rm -rvfi
  13. 虚拟现实在多领域的解决方案
  14. 强化学习1-思想及分类
  15. python使用tkinter库,封装操作excel为GUI程序
  16. Hibernate之两种一对一关系映射方式
  17. 记第一次mysql被黑事件
  18. 数据挖掘技术现状及未来发展方向(转)
  19. JAVA中日期转换SimpleDateFormat和DateTimeFormatter
  20. oem718d 基准站设置_Novatel诺瓦泰 OEM718D单机测向板卡

热门文章

  1. 两个形状不同的长方形周长_人教版数学六年级上册 5.2:圆的周长 微课视频|知识点|课件解析|同步练习...
  2. cms文章 mysql存储_MySQL存储引擎笔记
  3. db是哪个城市的缩写_北京自体脂肪填充哪个医生做得好?
  4. 冯偌依曼计算机的基本原理是,03级计算机专《计算机组成原理》试卷A.doc
  5. bios升级工具_小白修电脑系列第十二期--手把手教你升级主板BIOS
  6. 图层上下_「只要功夫深 不用关键帧」之图层序号的玩法
  7. Linux窗口按钮大小,Fitts: 给Ubuntu窗口一个大按钮
  8. mysql 内联和外联的区别_内联查询与外联查询
  9. access没有使用 对象的必要权限_厨房有没有必要安燃气报警器 使用燃气要注意哪些安全性措施...
  10. php mb开启,windows环境下如何为php开启mb_string函数库功能