最简单的方法来读取和写入文件

有很多不同的方式来读取和写入文件( 文本文件 ,而不是二进制)在C#中。

我只需要一些简单的东西,并且使用最less量的代码,因为我将在我的项目中使用很多文件。 我只需要一些string因为我只需要读取和写入string

使用File.ReadAllText和File.WriteAllText 。

这不能简单…

MSDN示例:

 // Create a file to write to. string createText = "Hello and Welcome" + Environment.NewLine; File.WriteAllText(path, createText); // Open the file to read from. string readText = File.ReadAllText(path); 

除了在另一个答案中显示的File.ReadAllTextFile.ReadAllLinesFile.WriteAllText (以及来自File类的类似帮助程序)之外,您还可以使用StreamWriter / StreamReader类。

编写一个文本文件:

 using(StreamWriter writetext = new StreamWriter("write.txt")) { writetext.WriteLine("writing in text file"); } 

读取文本文件:

 using(StreamReader readtext = new StreamReader("readme.txt")) { string readMeText = readtext.ReadLine(); } 

笔记:

  • 您可以使用readtext.Close()而不是using ,但是在例外的情况下它不会closures文件/读写器
  • 请注意,相对path是相对于当前工作目录。 你可能想要使用/构build绝对path。
  • 缺lessusing / Close是“为什么数据不写入文件”的常见原因。
 using (var file = File.Create("pricequote.txt")) { ........... } using (var file = File.OpenRead("pricequote.txt")) { .......... } 

简单,容易,也可以在完成后清理/清理对象。

 FileStream fs = new FileStream(txtSourcePath.Text,FileMode.Open, FileAccess.Read); using(StreamReader sr = new StreamReader(fs)) { using (StreamWriter sw = new StreamWriter(Destination)) { sw.writeline("Your text"); } } 

@AlexeiLevenkov指出我另一个“最简单的方法”即扩展方法 。 它只需要一点点编码,然后提供最简单的读/写方式,另外它还提供了根据个人需求创build变体的灵活性。 这是一个完整的例子:

这定义了stringtypes的扩展方法。 请注意,唯一真正重要的是带有extra关键字this的函数参数,它使它引用方法所附带的对象。 命名空间和类声明是可选的。

 using System.IO;//File, Directory, Path namespace Lib { /// <summary> /// Handy string methods /// </summary> public static class Strings { /// <summary> /// Extension method to write the string Str to a file /// </summary> /// <param name="Str"></param> /// <param name="Filename"></param> public static void WriteToFile(this string Str, string Filename) { File.WriteAllText(Filename, Str); return; } // of course you could add other useful string methods... }//end class }//end ns 

这是如何使用string extension method ,请注意,它自动引用class Strings

 using Lib;//(extension) method(s) for string namespace ConsoleApp_Sandbox { class Program { static void Main(string[] args) { "Hello World!".WriteToFile(@"c:\temp\helloworld.txt"); return; } }//end class }//end ns 

我永远不会自己find这个,但它工作的很好,所以我想分享一下。 玩的开心!

从文件读取并写入文件的最简单方法是:

 //Read from a file string something = File.ReadAllText("C:\\Rfile.txt"); //Write to a file using (StreamWriter writer = new StreamWriter("Wfile.txt")) { writer.WriteLine(something); } 

或者,如果你真的关于线路:

System.IO.File还包含一个静态方法WriteAllLines ,所以你可以这样做:

 IList<string> myLines = new List<string>() { "line1", "line2", "line3", }; File.WriteAllLines("./foo", myLines); 

您正在寻找FileStreamWriterStreamReader类。

阅读使用OpenFileDialog控件来浏览任何您想要阅读的文件是很好的。 find下面的代码:

不要忘记添加下面的using语句来读取文件: using System.IO;

 private void button1_Click(object sender, EventArgs e) { if (openFileDialog1.ShowDialog() == DialogResult.OK) { textBox1.Text = File.ReadAllText(openFileDialog1.FileName); } } 

要编写文件,您可以使用File.WriteAllText方法。