我是C#的新手,我正在尝试处理文件。现在我只是从文件中打电话。
我来自Java,因此大部分都是熟悉的。但我无法控制这个错误:
StreamReader config = new StreamReader("config.txt");
String test = config.ReadLine();
String cow = File.ReadLines("config.txt").Skip(3).Take(1).First();
Console.WriteLine(cow);
config.WriteLine("text test");
// ^ERROR^
Under" WriteLine"我收到一个错误说:
"'就是System.IO.StreamReader'不包含的定义 '的WriteLine'没有扩展方法' WriteLine'接受第一个 类型' System.IO.StreamReader'的参数找不到(是你吗? 缺少using指令或程序集引用?)
我很确定我没有错过使用指令,因为我有:
using System.IO;
如果您有任何问题或信息,请告诉我,谢谢!
答案 0 :(得分:4)
您需要StreamWriter才能写入文件而不是StreamReader。
答案 1 :(得分:4)
顾名思义,StreamReader
读取字节流,在您的情况下,这些字节恰好代表字符,而字符又形成String
。
File.ReadLines()
使用幕后的StreamReader
来读取指定文件的每一行,返回IEnumerable<string>
。由于您使用的是File.ReadLines()
,因此您没有理由声明StreamReader
变量,因为您实际上并未使用该变量来读取该文件。
根据我的理解,您尝试做的是再次写入配置文件。为此,您需要使用可以使用的StreamWriter
。
const string ConfigurationFilePath = "config.txt";
using(StreamWriter writer = new StreamWriter(ConfigurationFilePath))
{
writer.WriteLine("text test");
}
答案 2 :(得分:1)
StreamReader
用于阅读文件,您需要的是StreamWriter
。
Here是一个简单的教程,可以帮助您入门。
答案 3 :(得分:1)
是的,正如其他人提到的StreamReader是用于阅读。以下是SteamWriter的一个示例:
System.IO.StreamWriter file = new System.IO.StreamWriter("config.txt", true);
file.WriteLine("text test");
file.Close();