.net核心中StreamReader的更短解决方案

Abh*_*yan 3 c# .net-core .net-core-rc2

我有这个基本代码来读取StreamReaderVS Code中带有Dotnet Core 的文件.我可以在Visual Studio中使用.net进行类似的操作,new StreamReader("file.json")它看起来小巧紧凑.

我正在寻找dotnet核心中的另一个类,它可以用更少的代码实现类似的结果

 using System;
 using System.IO;

namespace ConsoleApplication
{
    public class Program
    {
        public static void Main(string[] args)
        {
            StreamReader myReader = new StreamReader(new FileStream("project.json", FileMode.Open, FileAccess.Read)); 
            string line = " "; 

            while(line != null)
            {
                line = myReader.ReadLine(); 
                if(line != null)
                {
                    Console.WriteLine(line); 
                }
            }

            myReader.Dispose();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Kal*_*ten 7

在完整的框架中,close方法对Dispose来说是多余的.关闭流的推荐方法是通过using语句调用Dispose,以确保即使发生错误也会关闭流.

您可以使用System.IO.File.OpenText()直接创建StreamReader.

在这里,您只需打开和关闭StreamReader即可:

using (var myReader = File.OpenText("project.json"))
{
    // do some stuff
}
Run Code Online (Sandbox Code Playgroud)

File类位于System.IO.FileSystem nuget包中