.net core 中 StreamReader 的更短解决方案

A shorter solution to StreamReader in .net core

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

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

 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();
        }
    }
}

用更少的代码得到相似的结果?删除你不必要的代码...这会不起作用吗???

try {
  using (StreamReader myReader = File.OpenText("project.json")) {
    string line = "";
    while ((line = myReader.ReadLine()) != null) {
      Console.WriteLine(line);
    }
  }
}
catch (Exception e) {
  MessageBox.Show("FileRead Error: " + e.Message);
}

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

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

在这里,您需要打开和关闭 StreamReader:

using (var myReader = File.OpenText("project.json"))
{
    // do some stuff
}

文件 class 在 System.IO.FileSystem nuget 包中