最近遇到一个问题,就是想查找邮政编码,我写了一个网页生成了几个txt文件。我就想写个小程序,遍历文件夹里面的txt文件,然后将txt文件内容插到数据库里面。
我在msdn上面查到一个类,DirectoryInfo ,MSDN上的解释如下:
Exposes instance methods for creating, moving, and enumerating through directories and subdirectories. This class cannot be inherited.
提供一些实例方法,用于创建、移动或者枚列文件夹或者子文件夹,这个类是不可以继承的。
我们只是需要读取文件夹的文件,然后再循环读取文件即可。
读取文件夹内容如下所示:
// Specify the directories you want to manipulate.
DirectoryInfo di = new DirectoryInfo(@"c:\MyDir");
// Copy each file into it's new directory.
foreach (FileInfo fi in source.GetFiles())
{
//处理txt文件
}
以上就是读取文件夹txt文件的代码了,那我们也提供一下读txt文件的方法,代码如下:
using (StreamReader sr = new StreamReader(fi.FullName, UnicodeEncoding.GetEncoding("utf-8")))
{
string line = string.Empty;
while ((line = sr.ReadLine()) != null)
{
if (line == "邮编行政区域" || string.IsNullOrEmpty(line)) continue;
InsertDB(line);
}
}
通过上面两段关键代码,我已经解决文章开始提出的问题了,就是使用DirectoryInfo 类读取文件夹下面的txt 文件,然后分别读取txt文件里面的内容,实现插入数据的功能。