StreamReader在C#中的使用

本文关键字:StreamReader | 更新日期: 2023-09-27 18:21:17

我想读取一个文件data.json并将其转换为字符串。

我的代码是这样的:

String json = null;
using (StreamReader sr = new StreamReader("data.json"))
{
     json = sr.ReadToEnd();
}

但Visual Studio告诉我CCD_ 1不期望将String作为构造函数参数。

如何告诉StreamReader我想读取文件data.json?

StreamReader在C#中的使用

实际上StreamReader支持构造函数,它接受大多数平台的文件路径,但不是所有平台。但无论如何,只需使用File.ReadAllText:

string json = File.ReadAllText("data.json");

它在内部创建StreamReader(链接到源):

using (var sr = new StreamReader(path, encoding))
    return sr.ReadToEnd();

UPDATE:您可以始终将流传递给StreamReader。使用FileStream打开流以读取文件,然后将其传递给StreamReader:

string json = null;
using (var stream = new FileStream("data.json", FileMode.Open))
using (var reader = new StreamReader(stream))
    json = reader.ReadToEnd();