使用带有VScode的dotnet-cli(dotnet new,dotnet restore),我制作了一个新的C#程序。
但是,我似乎无法正确使用StreamReader。这是代码。
using System;
using System.IO;
namespace ConsoleApplication
{
public class Program
{
public static void Main(string[] args)
{
StreamReader test = new StreamReader("Test.txt");
}
}
}
我似乎无法运行此程序。我跑步时使用 dotnet run,它说
'string'无法转换为'System.IO.Stream'[netcoreapp1.0]
我尝试在Visual Studio社区中创建相同的程序,并且运行正常,没有任何错误
答案 0 :(得分:1)
解决您的问题:您必须使用Stream作为文件的基本访问权限:
using(var fs = new FileStream("file.txt", FileMode.Open, FileAccess.Read))
using (var sr = new System.IO.StreamReader(fs)){
//Read file via sr.Read(), sr.ReadLine, ...
}
}
由于StreamReader
和FileStream
实施IDisposable
,因为使用了子句,它们将被处理掉,因此您无需编写电话.Close()
或{{ 1}}(正如@TaW所说)。