c#如何批量获取一个文件夹下的文件属性,然后存入数据库

如何批量获取一个文件夹下所有文件的文件名、所在位置及文件大小等属性,然后将属性信息存入sqlserver数据库。最好详尽一些,谢谢~... 如何批量获取一个文件夹下所有文件的文件名、所在位置及文件大小等属性,然后将

属性信息存入sqlserver数据库。

最好详尽一些,谢谢~
展开
 我来答
蔷薇夜天涯
推荐于2018-05-04 · TA获得超过509个赞
知道小有建树答主
回答量:586
采纳率:75%
帮助的人:495万
展开全部

首先建好数据库。假设下面的数据库已建好,数据表名为fileinfo

id    filename   filesize  extension createtime

分别代码,编号 文件名 文件大小  扩展名 文件创建时间

1,创建数据表


第二步。在对应的文件夹下复制好文件。假设当前目录为image,该目录下有下列文件。

第三步,信息入库,本人这里以C#为例。

public static InsertFilesInfo(string path)   //创建方法。这里采用参数传递,方便对不同目录下的文件进行遍历入库

{

string filename=""; ///定义变量,用于存放文件名

string filesize=""; ///定义变量,用于存放文件大小

string extension="";/// 定义变量,用于存放文件扩展名

string createtime=""; ///定义变量,用于存放文件创建时间

System.IO.DirectoryInfo dir= new System.IO.DirectoryInfo(System.Web.HttpContext.Current.Server.MapPath(path));

///先获取相应的目录。并实例化目录对象。方便获取该 目录下的文件。

System.IO.FileInfo[] fInfo = dir.GetFiles();

///创建文件信息集合,将path参数指定的目录下的文件全部获取到,存入fInfo这个文件信息数组。

foreach (System.IO.FileInfo f in fInfo) ///开始遍历数组。将所有的文件遍历出来。

filename = f.Name.ToString();

filesize=f.Length.ToString();

extension=f.Extension.ToString();

createtime=fCreationTime.ToString()

///上述操作已经获取到文件相关信息。

下一步入库。

入库,假设数据连接对象已创建好,具体的数据连接代码,这里不再提供了。

string sql="insert fileinfo (filename,filesize,extension,createtime) values ('" + filename + "','"+ filesize+"','"+ extension+"','"+ createtime+"'")";

cmd.CommandType='Text';

cmd.CommandText=sql;

cmd.ExecuteNoQuery();

///文件信息已经入库了。这是循环入库,有多少个文件,数据库表中就会有多少条信息。

}


另外可以使用php。原理都是一样的。都是先遍历目录下所有的文件,再将文件信息存储。再遍历。再入库。

宣义坊的大蚂蚁
推荐于2016-09-17 · TA获得超过2830个赞
知道大有可为答主
回答量:1617
采纳率:90%
帮助的人:867万
展开全部
获得一个文件夹下面的文件信息可以使用以下的代码
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo("D:\\Test");
foreach ( System.IO.FileInfo file in dir.GetFiles())
{
file.FullName; // 全名
file.Name; // 文件名
file.Length; // 文件大小
}

至于怎么把这些存入数据库应该不用给代码了吧,搜一下到处都是例子:)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式