【问题标题】:Trying to "WriteLine" to a text file尝试将“WriteLine”写入文本文件
【发布时间】:2014-12-14 11:18:39
【问题描述】:

我对 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^

在“WriteLine”下,我收到一条错误消息:

"'System.IO.StreamReader' 不包含对 'WriteLine' 并且没有扩展方法 'WriteLine' 接受第一个 找不到“System.IO.StreamReader”类型的参数(你是 缺少 using 指令或程序集引用?)

我很确定我没有错过 using 指令,因为我有:

using System.IO;

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

【问题讨论】:

    标签: c# file text-files


    【解决方案1】:

    您需要 StreamWriter 来写入文件,而不是 StreamReader。

    【讨论】:

    • 谢谢,我去查一下:)
    【解决方案2】:

    顾名思义,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");       
    }
    

    【讨论】:

    • 嘿 Colin,如果您发现这些答案中的任何一个对您有帮助,请标记对您最有帮助的答案,以便社区也可以从中受益:)
    【解决方案3】:

    是的,正如其他人提到的那样,StreamReader 是用于阅读的。以下是 SteamWriter 的实际使用示例:

            System.IO.StreamWriter file = new System.IO.StreamWriter("config.txt", true);
            file.WriteLine("text test");
            file.Close();
    

    【讨论】:

      【解决方案4】:

      StreamReader 用于读取文件,你需要的是StreamWriter

      Here 是一个让您入门的简单教程。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多