我目前正在打开一个文件并将其显示在消息框中。
private void button2_Click_1(object sender, EventArgs e)
{
//OpenFileDialog1.ShowDialog();
OpenFileDialog file = new OpenFileDialog();
file.FileName = "";
file.Title = "Open A Text document.";
file.Filter = "(*.gc)|*.gc|(*.etf)|*.etf|(*.txt)|*.txt|(*.GC)|*.GC|(*.tap)|*.tap";
DialogResult result = file.ShowDialog();
if (result == DialogResult.OK)
{
System.IO.StreamReader OpenFile = new System.IO.StreamReader(file.FileName);
textBox1.Text = OpenFile.ReadToEnd();
OpenFile.Close();
}
if (file.FileName.Length > 0)
{
OpenFile(file.FileName);
}
但我需要逐行阅读文件并在消息框中显示。有没有办法改变这段代码。
答案 0 :(得分:2)
有一个File.ReadLines方法返回一个IEnumerable,你可以这样做:
foreach(var line in File.ReadLines("myfile.txt")){
//Do stuff with line
}
答案 1 :(得分:0)
考虑使用StreamReader.ReadLine()方法。
答案 2 :(得分:0)
这正是ReadLine
方法的用途
while (OpenFile.Peek() >= 0)
{
MessageBox.Show(OpenFile.ReadLine());
}
答案 3 :(得分:0)
您是否尝试过OpenFile.ReadLine()
方法?
或者,对于更激进的方法
string[] lines = OpenFile.ReadToEnd().Split('\n');
答案 4 :(得分:0)
从文件中读取所有行的最简单方法是File.ReadAllLines方法(在内部使用StreamReader
):
foreach(string line File.ReadAllLines(fileName))
MessageBox.Show(line);