.net 从目录中读取文件,然后读取同一文件c的特定行#
我的问题是,我正在读取一个目录,然后我按名称筛选文件,但在这个目录中还有其他具有不同名称的文件,我试图做的是输入具有不同名称的文件并读取第6行,如果此行与具有相同名称的其他文件的名称匹配,将此文件保存到和数组中,以便以后处理 提前感谢。试试这个:.net 从目录中读取文件,然后读取同一文件c的特定行#,.net,.net,我的问题是,我正在读取一个目录,然后我按名称筛选文件,但在这个目录中还有其他具有不同名称的文件,我试图做的是输入具有不同名称的文件并读取第6行,如果此行与具有相同名称的其他文件的名称匹配,将此文件保存到和数组中,以便以后处理 提前感谢。试试这个: String dir = @"C:\Temp"; String pattern = "*.txt"; var foundFiles = new List<String>(); foreach (String filePath in Dir
String dir = @"C:\Temp";
String pattern = "*.txt";
var foundFiles = new List<String>();
foreach (String filePath in Directory.EnumerateFiles(dir, pattern))
{
foreach (String filePath2 in Directory.EnumerateFiles(dir, pattern))
{
if (filePath != filePath2 &&
File.ReadLines(filePath2).ElementAtOrDefault(5) == Path.GetFileName(filePath))
foundFiles.Add(filePath);
}
}
String dir=@“C:\Temp”;
字符串模式=“*.txt”;
var foundFiles=新列表();
foreach(目录中的字符串文件路径。枚举文件(目录,模式))
{
foreach(Directory.EnumerateFiles(dir,pattern)中的字符串filePath2)
{
if(filePath!=filePath2&&
File.ReadLines(filePath2.ElementAtOrDefault(5)=Path.GetFileName(filePath))
foundFiles.Add(文件路径);
}
}
注意:完全未经测试,在没有IDE的情况下编写,但无论如何它可能会有所帮助。这应该是读取特定行的最简单方法
string dir = "C:\\\\someFile.txt";
int LineNo = 1; //Pick a line
string ChosenLine = File.ReadAllLines(dir)[lineNo];
如果要对文件夹中的每个文件执行此操作,请使用for或foreach
void someMethod()
{
string folderToScan = "C:\\\\someFolder\\";
foreach(string dir in Directory.GetDirectories(folderToScan).ToList())
{
if(isExtention(dir,".txt"))
{
int LineNo = 1; //Pick a line
string ChosenLine = File.ReadAllLines(dir)[lineNo];
}
}
}
bool isExtention(string f, string extention)
{
return f != null && f.EndsWith(extention, StringComparison.Ordinal);
}
被否决了。这与其说是一个编程问题,不如说是一个为您编写程序的请求@Tim很乐意回答。嗨,我是c语言编程新手,你能解释一下你在做什么吗,谢谢你的帮助。你好,你应该看看
System.IO
命名空间中的类。例如,我用它来获取目录中的文件列表Enumerable.ElementAtOrDefault
返回(此处)第6行,如果没有那么多行,则返回null
。结果是一个类似于数组的列表。也许您想存储文件路径2
(或两者都存储)。如果你只想与文件名比较(没有.txt
f.e.),你可以使用Path.GetFileNameWithoutExtension(Path)
。好的,蒂姆,实际上我正在将这些文件存储到一个列表框中,我会尝试一下,谢谢你的帮助。