在c#中有很多不同的方法来读写文件(文本文件,而不是二进制文件)。
我只需要一些简单的东西,使用最少的代码,因为我将在我的项目中大量使用文件。我只需要一些字符串,因为我所需要的是读写字符串。
在c#中有很多不同的方法来读写文件(文本文件,而不是二进制文件)。
我只需要一些简单的东西,使用最少的代码,因为我将在我的项目中大量使用文件。我只需要一些字符串,因为我所需要的是读写字符串。
当前回答
或者,如果你真的很注重线条:
System.IO.File也包含一个静态方法WriteAllLines,所以你可以这样做:
IList<string> myLines = new List<string>()
{
"line1",
"line2",
"line3",
};
File.WriteAllLines("./foo", myLines);
其他回答
using (var file = File.Create("pricequote.txt"))
{
...........
}
using (var file = File.OpenRead("pricequote.txt"))
{
..........
}
简单,容易,也处置/清理对象一旦你完成它。
class Program
{
public static void Main()
{
//To write in a txt file
File.WriteAllText("C:\\Users\\HP\\Desktop\\c#file.txt", "Hello and Welcome");
//To Read from a txt file & print on console
string copyTxt = File.ReadAllText("C:\\Users\\HP\\Desktop\\c#file.txt");
Console.Out.WriteLine("{0}",copyTxt);
}
}
@AlexeiLevenkov指出了另一种“最简单的方法”,即扩展方法。它只需要一点点编码,然后提供绝对最简单的读/写方式,再加上它提供了根据个人需求创建变化的灵活性。下面是一个完整的例子:
这定义了字符串类型的扩展方法。注意,唯一真正重要的是带有额外关键字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
这是如何使用字符串扩展方法,注意它自动引用类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
我自己永远不会发现这个,但它很棒,所以我想分享这个。玩得开心!
从文件中读取
string filePath = @"YOUR PATH";
List<string> lines = File.ReadAllLines(filePath).ToList();
写入文件
List<string> lines = new List<string>();
string a = "Something to be written"
lines.Add(a);
File.WriteAllLines(filePath, lines);
在读取时使用OpenFileDialog控件浏览到您想要读取的任何文件是很好的。找到下面的代码:
不要忘记添加以下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方法。