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

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

下面写两个实例,

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");
                //写法1
                string 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文本框中去了。

时间: 2024-08-06 20:07:26

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

python 遍历文件夹 文件

python 遍历文件夹 文件 import os import os.path rootdir = "d:\data" # 指明被遍历的文件夹 for parent,dirnames,filenames in os.walk(rootdir): #三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字 for dirname in dirnames: #输出文件夹信息 print "parent is:" + parent print &q

python 遍历文件夹文件代码

import os def tree(top): for path, names, fnames in os.walk(top): for fname in fnames: yield os.path.join(path, fname) for name in tree('C:\Users\XXX\Downloads\Test'): print name python 遍历文件夹文件代码

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

补充:正常情况下,建议数据库备份最好用工具进行备份,通过拷贝数据库表进行数据迁移,不同的环境会出现各种不同的意外问题. 背景:今天在整理一个网站的时候,操作系统由于系统自动更新导致一直出现系统蓝屏死机,唉,悲剧了,于是重新安装了系统 windows server 2008 enterprise 32bit. 详情: 系统安装完成后,重新配置之前那个网站,appache服务配好之后,再配置数据的时候是这样做的,将原来Mysql 文件夹(C:\Windows.old\ProgramData\MySQ

JavaSE 文件递归之删除&amp;amp;获取文件夹文件夹中全部的以.jpg的文件的绝对路径

1.递归删除文件 假设一个文件夹以下还有子文件夹,进行删除的话会 报错,这个时候要使用递归的方式来删除这个文件文件夹中的全部文件以及文件夹 package cn.itcast.digui; import java.io.File; /** * 递归删除demo目录中全部文件包含目录 * 分析: * A:封装目录 * B:获取改目录下的全部文件或者目录 * C:遍历改file数组,得到每个File对象 * D:推断该file对象是都是目录 * 是:回到B * 否:删除 * @author Admi

java基础IO删除文件夹文件

/** * 定义一个方法,能够删除任意文件夹,文件夹路径由键盘录入 注意:不要在C盘下做测试,请选定无用的文件夹测试! */ 1.键盘录入 private static File getfile() { //键盘录入 Scanner sc = new Scanner(System.in); System.out.println("请输入文件夹的路径:"); while(true){ //无限循环 直到输入对了结束 String str = sc.nextLine(); //把字符串封装

C#获取文件夹/文件的大小以及占用空间 转摘自:http://www.cnblogs.com/chenpeng-dota/articles/2176470.html

C#获取文件夹/文件的大小以及占用空间 今天,头给了个任务:写个方法,我会给你个路径,计算这个路径所占用的磁盘空间 . 然后,找了很多资料.但大部分都是获取文件夹/文件的大小的.对于占用空间的没有成品代码.(ps:我没找到.)后来,在网上找了些资料,自己捣鼓出来了.在这里记录下,一则说不定以后能用到.再则如果有高手有更好的方法或者建议,求指点. 废话不多说了.begin. 首先说下文件夹/文件大小与占用空间的区别. 这个是硬盘分区格式有关 大小是文件的实际大小,而占用空间是占硬盘的实际空间 以F

Shell脚本递归打印指定文件夹中全部文件夹文件

#!/bin/bash #递归打印当前文件夹下的全部文件夹文件. PRINTF() { ls $1 | while read line #一次读取每一行放到line变量中 do [ -d $1/$line ] && { DIR="$1/$line" echo $DIR } DIR1=`dirname $DIR` #求路径. A=`ls -F $DIR1 | grep / | grep "\<$line\>"` #推断line是不是一个文件

linux 文件夹-文件权限设置

只设置文件夹权限为755 文件权限为644find -type d -exec chmod 755 {} \;  find -type f -exec chmod 644 {} \;  或者  find -type d|xargs chmod 755  find -type f|xargs chmod 644 linux 文件夹-文件权限设置,布布扣,bubuko.com

python批量改动指定文件夹文件名称

这小样例仅仅要是说明用python怎么批量改动指定文件夹的文件名称: 记得要把脚本跟改动的文件放在同一个文件夹下 #encoding:utf-8 import os import sys files = os.listdir('D:\\1') #路径能够自己 for name in files: a = os.path.splitext(name) if a[1] == '.txt': #txt能够自己手动改动成你想改的文件名称 newname = a[0]+'.py' #.py也是能够改动 p