试图" WriteLine"到文本文件

时间:2014-12-14 02:19:32

标签: c# file text-files

我是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;

如果您有任何问题或信息,请告诉我,谢谢!

4 个答案:

答案 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();