C#WPF中的实现读取和写入文件的几种方式
说明:C#中实现读取和写入的类根据需要来选择。
1、File类
File类是用于操作文件的工具类,提供了对文件进行创建、复制、删除、移动和打开单一文件的静态方法。但需要注意的是,WPF中使用File的类,需要先引用System.IO下的命名空间。以下是System.IO中File类的一些主要方法和属性:
1.1 ReadAllText读取文件
通过调用File类的ReadAllText方法,可以直接将指定文件的所有文本内容读取到一个字符串中。
using System.IO;
//读取文本
string filePath = @"C:\Users\Administrator\Desktop\1.txt";
string content = File.ReadAllText(filePath);
Console.WriteLine(content);
1.2 WriterAllText写入文件
通过调用File类的WriteAllText方法,可以将指定的文本内容写入到文件中,如果文件已存在则会覆盖原有内容。
using System.IO;
//吸入文本
string filePath = @"C:\Users\Administrator\Desktop\1.txt";
string content = "这是一段要写入文件的文本。";
File.WriteAllText(filePath, content);
1.3 Create 创建文件
通过调用File类的Create方法可以创建一个新的文件,然后关闭文件流以确保文件资源被释放。
using System.IO;
string filePath = @"C:\Users\Administrator\Desktop\2.txt";
if (File.Create(filePath).Close())
{
Console.WriteLine("文件创建成功");
}
else
{
Console.WriteLine("文件创建失败");
}
1.4 查阅Fille类其他的方法
更多方法见官方使用说明:File 类 (System.IO) | Microsoft Learn
2、StreamWriter文本写入
System.IO.StreamWriter是C#中的一个类,用于将文本写入到文件中。它提供了一些方法来设置文件的编码、缓冲区大小等属性,以及一些方法来写入文本和关闭文件。
以下是一些主要的方法和属性:
-
构造函数:StreamWriter(string path) - 创建一个StreamWriter对象,用于将文本写入到指定的文件中。
-
Write(string text) - 将指定的字符串写入到文件中。
-
WriteLine(string text) - 将指定的字符串写入到文件中,并在末尾添加一个换行符。
-
Flush() - 清空缓冲区,并将数据写入到文件中。
-
Close() - 关闭文件,并释放与该文件关联的所有资源。
-
AutoFlush - 一个布尔值,表示是否在每次调用Write或WriteLine方法时自动刷新缓冲区。默认值为true。
-
Encoding - 一个Encoding对象,表示要使用的字符编码。默认值为System.Text.Encoding.Default。
-
IndentSize - 一个整数,表示缩进的大小。默认值为0。
-
NewLine - 一个字符串,表示新行的字符。默认值为"
using System;
using System.IO;
class Program
{
static void Main()
{
// 创建一个StreamWriter对象,用于将文本写入到"output.txt"文件中
using (StreamWriter writer = new StreamWriter("output.txt"))
{
// 写入一行文本
writer.WriteLine("Hello, World!");
// 写入多行文本
writer.WriteLine("This is a test.");
writer.WriteLine("StreamWriter is useful for writing text to files.");
// 刷新缓冲区,并将数据写入到文件中
writer.Flush();
}
}
}
3、StreamReader 读取文本
System.IO.StreamReader是C#中的一个类,用于从文件中读取文本。它提供了一些方法来设置文件的编码、缓冲区大小等属性,以及一些方法来读取文本和关闭文件。
以下是一些主要的方法和属性:
-
构造函数:StreamReader(string path) - 创建一个StreamReader对象,用于从指定的文件中读取文本。
-
Read() - 读取一个字符,并返回其Unicode值。如果已经到达文件末尾,则返回-1。
-
ReadLine() - 读取一行文本,直到遇到换行符或文件末尾。
-
Close() - 关闭文件,并释放与该文件关联的所有资源。
-
AutoClose - 一个布尔值,表示是否在读取完文件后自动关闭文件。默认值为true。
-
Encoding - 一个Encoding对象,表示要使用的字符编码。默认值为System.Text.Encoding.Default。
-
BaseStream - 一个Stream对象,表示底层的流。可以通过这个属性访问底层的流,例如FileStream或MemoryStream。
using System;
using System.IO;
class Program
{
static void Main()
{
// 创建一个StreamReader对象,用于从"input.txt"文件中读取文本
using (StreamReader reader = new StreamReader("input.txt"))
{
// 读取一行文本
string line = reader.ReadLine();
while (line != null)
{
Console.WriteLine(line);
line = reader.ReadLine();
}
}
}
}