对TXT文件的操作 我在D盘放一个‘数据管理’的文件夹,文件夹下面按日期为名称又有若干个文件夹,每个文件夹下面上传了好多TXT文档。我现在要输一个关键字,怎么把包含关键字文档的地址都找出来··比如:D://数据管理/0110.XXX.txt!!!在这先谢谢各位了·· 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 循环txt类型文件把文件名字放入dataTable,对dataTable进行查询 应该先找到哪个TXT文档包含那个关键字,再确定文件夹的路径···怎么直接就查文件夹名呢 string strPath = @"D://数据管理/"; System.Collections.Generic.List<string> searchNames=new System.Collections.Generic.List<string>(); getFileNames(strPath, "1", searchNames); return searchNames; // 此时的searchNames已经获取到了所有文件名 ... ... /// <summary> /// 根据条件为searchNames赋值 /// </summary> /// <param name="strPath">给定路径</param> /// <param name="strKeyWords">给定查询关键字</param> /// <param name="searchNames">要存放的List</param> private void getFileNames(string strPath, string strKeyWords, System.Collections.Generic.List<string> searchNames) { string[] direcNames = Directory.GetDirectories(strPath); string[] fileNames = Directory.GetFiles(strPath); for (int i = 0; i < fileNames.Length; i++) { if (fileNames[i].Contains(strKeyWords)) { searchNames.Add(fileNames[i]); } } for (int i = 0; i < direcNames.Length; i++) { getFileNames(direcNames[i], strKeyWords, searchNames); } } 我就是想知道,怎么遍历所有的TXT文档,代码不晓得。应该是先确定这个文件夹存不存在输入的关键字吧,如果存在 就获取文档地址,如果不存在 就遍历下一个TXT文档 4楼的这段代码: string strPath = @"D://数据管理/"; System.Collections.Generic.List<string> searchNames=new System.Collections.Generic.List<string>(); getFileNames(strPath, "1", searchNames); return searchNames; // 此时的searchNames已经获取到了所有文件名放在Button的单击事件里行不行,最后一句怎么报错了??初学者,请详细点把。 因为 searchNames 是个字符串集合,主要看你要如何显示这些文件名比如在前台加个Label叫lblInfo,单击事件里把return searchNames;改成:lblInfo.Text = string.Join("<br/>", searchNames.ToArray()); string[] strName= System.IO.Directory.GetFiles("D://数据管理", "关键字", System.IO.SearchOption.AllDirectories); List<string> list=new List<string>(); foreach (string s in strName) { if (s.EndsWith(".txt")) list.Add(s); } 为什么还是获取不到呢?我试了下:我在‘数据管理’下面有个名为‘0210’文件夹,里面有2个txt文档,我在第一个(1.txt)里面写了‘张三’,第二个(2.txt)里面写了‘李四’。如果我调用getFileNames(strPath, "张三", searchNames);应该出来:D://数据管理/0210/1.txt,怎么出来的不是呢??? 你查询内容,不是题目? if (fileNames[i].Contains(strKeyWords)) { searchNames.Add(fileNames[i]); }那改下for循环里语句: string fileExt = System.IO.Path.GetExtension(fileNames[i]); if (fileExt.ToLower() == ".txt") { string strContent = File.ReadAllText(fileNames[i], System.Text.Encoding.UTF8); if (strContent.Contains(strKeyWords)) { searchNames.Add(fileNames[i]); } } 是TXT包含输入的关键字,就显示该文件夹的地址,不存在输入的关键字的话就不显示该TXT地址,不是把所有的文件地址都显示出来! 我错了,// System.Text.Encoding.UTF8// 改成 System.Text.Encoding.Default page_Load运行两次的问题? aspx和html在客户端执行时为什么会不同? href传递中文成乱码 查询怎么做,全部分了 没多的了 求 带复选框的gridview 类似邮件的全选,全清功能 js完成 分页以后GriView查询问题 关于Response.Write的简单问题,请进来瞧瞧吧 (过五一献血帖)24小时学会开发webpart crystal report 高手請進!!! 一个非常简单的问题(在线等待) 取table中th信息 sql的日期字段问题
string strPath = @"D://数据管理/";
System.Collections.Generic.List<string> searchNames=new System.Collections.Generic.List<string>();
getFileNames(strPath, "1", searchNames);
return searchNames; // 此时的searchNames已经获取到了所有文件名
... ... /// <summary>
/// 根据条件为searchNames赋值
/// </summary>
/// <param name="strPath">给定路径</param>
/// <param name="strKeyWords">给定查询关键字</param>
/// <param name="searchNames">要存放的List</param>
private void getFileNames(string strPath, string strKeyWords, System.Collections.Generic.List<string> searchNames)
{
string[] direcNames = Directory.GetDirectories(strPath);
string[] fileNames = Directory.GetFiles(strPath);
for (int i = 0; i < fileNames.Length; i++)
{
if (fileNames[i].Contains(strKeyWords))
{
searchNames.Add(fileNames[i]);
}
}
for (int i = 0; i < direcNames.Length; i++)
{
getFileNames(direcNames[i], strKeyWords, searchNames);
}
}
string strPath = @"D://数据管理/";
System.Collections.Generic.List<string> searchNames=new System.Collections.Generic.List<string>();
getFileNames(strPath, "1", searchNames);
return searchNames; // 此时的searchNames已经获取到了所有文件名
放在Button的单击事件里行不行,最后一句怎么报错了??初学者,请详细点把。
主要看你要如何显示这些文件名
比如在前台加个Label叫lblInfo,单击事件里把
return searchNames;
改成:lblInfo.Text = string.Join("<br/>", searchNames.ToArray());
List<string> list=new List<string>();
foreach (string s in strName)
{
if (s.EndsWith(".txt"))
list.Add(s);
}
应该出来:D://数据管理/0210/1.txt,怎么出来的不是呢???
{
searchNames.Add(fileNames[i]);
}那改下for循环里语句: string fileExt = System.IO.Path.GetExtension(fileNames[i]);
if (fileExt.ToLower() == ".txt")
{
string strContent = File.ReadAllText(fileNames[i], System.Text.Encoding.UTF8);
if (strContent.Contains(strKeyWords))
{
searchNames.Add(fileNames[i]);
}
}
// 改成 System.Text.Encoding.Default