如何在 Winform 和 WPF 中读取、写入和修改记事本 (.txt) 文件的内容?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/17574977/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-13 09:11:44  来源:igfitidea点击:

How can I read, write, and modify the contents of a notepad (.txt) file, in Winform and WPF?

c#wpfwinformsvisual-studio

提问by user2555148

How can I read, write, and modify the contents of a notepad (.txt) file in Winform and WPF C#?

如何在 Winform 和 WPF C# 中读取、写入和修改记事本 (.txt) 文件的内容?

回答by Jon G

Easiest is StreamReader and StreamWriter:

最简单的是 StreamReader 和 StreamWriter:

    using (var writer = new StreamWriter(@"C:\blah\somefile.txt"))
    {
        writer.WriteLine("Hello!");
    }

    using (var reader = new StreamReader(@"C:\blah\somefile.txt"))
    {
        var line = reader.ReadLine();
    }

回答by Alex

You just have to use System.IO.File.

你只需要使用System.IO.File.

class WriteTextFile
{
    static void Main()
    {

        // These examples assume a "C:\Users\Public\TestFolder" folder on your machine.
        // You can modify the path if necessary.

        // Example #1: Write an array of strings to a file.
        // Create a string array that consists of three lines.
        string[] lines = {"First line", "Second line", "Third line"};
        System.IO.File.WriteAllLines(@"C:\Users\Public\TestFolder\WriteLines.txt", lines);


        // Example #2: Write one string to a text file.
        string text = "A class is the most powerful data type in C#. Like structures, " +
                       "a class defines the data and behavior of the data type. ";
        System.IO.File.WriteAllText(@"C:\Users\Public\TestFolder\WriteText.txt", text);

        // Example #3: Write only some strings in an array to a file.
        using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\Public\TestFolder\WriteLines2.txt"))
        {
            foreach (string line in lines)
            {
                // If the line doesn't contain the word 'Second', write the line to the file.
                if (!line.Contains("Second"))
                {
                    file.WriteLine(line);
                }
            }
        }

        // Example #4: Append new text to an existing file
        using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\Public\TestFolder\WriteLines2.txt", true))
        {
            file.WriteLine("Fourth line");
        }  
    }
}
/* Output (to WriteLines.txt):
    First line
    Second line
    Third line

 Output (to WriteText.txt):
    A class is the most powerful data type in C#. Like structures, a class defines the data and behavior of the data type.

 Output to WriteLines2.txt after Example #3:
    First line
    Third line

 Output to WriteLines2.txt after Example #4:
    First line
    Third line
    Fourth line
 */

回答by Matt

This is a very basic topic and there's already a lot of information out there only a simple search away. As an example here is a SO question that should get you started:

这是一个非常基本的主题,并且已经有很多信息,只需简单搜索即可。作为一个例子,这里是一个应该让你开始的 SO 问题:

How to both read and write a file in C#

如何在 C# 中读取和写入文件