在C#中打开多个文件并检查每个文件的内容
我想做的是打开多个文件,读取每个文件中的文本,检查某些关键字,并将它们全部打印到一个新文件中,一旦完成,将创建一个包含所有关键字的新文件。我已经在使用foreach来迭代所有文件名,我知道如何打开多个文件,但是在同时打印时检索内容并检查某些条件如何 下面是我到目前为止的一个例子,非常标准的东西 谢谢大家在C#中打开多个文件并检查每个文件的内容,c#,winforms,openfiledialog,C#,Winforms,Openfiledialog,我想做的是打开多个文件,读取每个文件中的文本,检查某些关键字,并将它们全部打印到一个新文件中,一旦完成,将创建一个包含所有关键字的新文件。我已经在使用foreach来迭代所有文件名,我知道如何打开多个文件,但是在同时打印时检索内容并检查某些条件如何 下面是我到目前为止的一个例子,非常标准的东西 谢谢大家 if (dr == System.Windows.Forms.DialogResult.OK) { // Read the files
if (dr == System.Windows.Forms.DialogResult.OK)
{
// Read the files
foreach (String file in openFileDialog1.FileNames)
{
try
{
listView1.Items.Add(file);
}
catch (SecurityException ex)
{
// The user lacks appropriate permissions to read files, discover paths, etc.
MessageBox.Show("Security error. Please contact your administrator for details.\n\n" +
"Error message: " + ex.Message + "\n\n" +
"Details (send to Support):\n\n" + ex.StackTrace
);
}
catch (Exception ex)
{
// Could not load the image - probably related to Windows file system permissions.
MessageBox.Show("Cannot display the image: " + file.Substring(file.LastIndexOf('\\'))
+ ". You may not have permission to read the file, or " +
"it may be corrupt.\n\nReported error: " + ex.Message);
}
}
}
要读取文件,请使用
System.IO.file.ReadAllText()
。这将把所有内容放入一个字符串变量。您可以使用SoMoS建议的方法读取文件。并用
)() 这应该被标记为家庭作业吗?谢谢,伙计,我很感激!
Try
Using sr As New StreamReader("TestFile.txt")
Dim line As String
Do
line = sr.ReadLine()
If Not (line Is Nothing) Then
Console.WriteLine(line)
End If
Loop Until line Is Nothing
End Using
Catch e As Exception
Console.WriteLine("The file could not be read:")
Console.WriteLine(e.Message)
End Try