如何在 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
How can I read, write, and modify the contents of a notepad (.txt) file, in Winform and WPF?
提问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 问题:

