我正在测试FileStream和StreamReader类如何工作。通过控制台应用程序。
我试图进入一个文件并阅读这些行,然后在控制台上打印它们。
我已经可以使用while循环来做到这一点,但是我想通过foreach循环来尝试一下。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace testing
{
public class Program
{
public static void Main(string[] args)
{
string file = @"C:\Temp\New Folder\New Text Document.txt";
using(FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read))
{
using(StreamReader sr = new StreamReader(fs))
{
foreach(string line in file)
{
Console.WriteLine(line);
}
}
}
}
}
}
我一直为此得到的错误是:无法将类型'char'转换为'string'
起作用的while循环如下所示:
while((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
我可能忽略了一些基本的内容,但看不到。
最佳答案
要读取New Text Document.txt中的所有行,请执行以下操作:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace testing
{
public class Program
{
public static void Main(string[] args)
{
string file = @"C:\Temp\New Folder\New Text Document.txt";
using(FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read))
{
using(StreamReader sr = new StreamReader(fs))
{
while(!sr.EndOfStream)
{
Console.WriteLine(sr.ReadLine());
}
}
}
}
}
}
关于c# - C#中的FileStream StreamReader问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/286533/