1

使用 dotnet-cli (dotnet new, dotnet restore) 和 VScode,我制作了一个新的 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 Community 中创建相同的程序,它运行良好,没有任何错误

4

1 回答 1

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, ...
    }
}

由于StreamReaderFileStreamimplement IDisposable,它们将因为 using 子句而被丢弃,因此您无需编写调用.Close().Dispose()(如@TaW 所说)。

于 2016-09-14T06:55:26.520 回答