C# 文件操作特性
·
C# 提供了丰富的文件操作功能,主要通过 System.IO 命名空间实现。以下是关键特性的分类说明:
文件读写操作
File.ReadAllText:读取文件全部内容为字符串。File.WriteAllText:将字符串写入文件(覆盖原有内容)。File.ReadAllLines:按行读取文件内容为字符串数组。File.AppendAllText:追加内容到文件末尾。
示例代码:
string content = File.ReadAllText("example.txt");
File.WriteAllText("output.txt", "Hello, World!");
文件流操作
FileStream:提供对文件的字节级读写支持。StreamReader/StreamWriter:封装流并提供文本读写功能。
示例代码:
using (FileStream fs = new FileStream("data.bin", FileMode.Create))
{
byte[] data = Encoding.UTF8.GetBytes("Binary Data");
fs.Write(data, 0, data.Length);
}
文件信息与目录操作
FileInfo/DirectoryInfo:获取文件/目录属性(如创建时间、大小等)。Directory.GetFiles:获取目录下所有文件路径。Path.Combine:安全地组合路径字符串。
示例代码:
FileInfo fi = new FileInfo("example.txt");
Console.WriteLine($"Size: {fi.Length} bytes");
string[] files = Directory.GetFiles(@"C:\Temp");
异步文件操作
File.ReadAllTextAsync:异步读取文件内容。StreamReader.ReadToEndAsync:异步读取流内容。
示例代码:
async Task<string> ReadFileAsync(string path)
{
return await File.ReadAllTextAsync(path);
}
文件监控
FileSystemWatcher:监控文件或目录的更改事件(如创建、修改、删除)。
示例代码:
FileSystemWatcher watcher = new FileSystemWatcher(@"C:\Temp");
watcher.Created += (s, e) => Console.WriteLine($"File created: {e.Name}");
watcher.EnableRaisingEvents = true;
特殊功能
- 内存映射文件(
MemoryMappedFile):处理超大文件。 - 临时文件生成(
Path.GetTempFileName)。 - 文件加密/解密(
File.Encrypt/File.Decrypt)。
注意事项:
- 操作文件时需处理
IOException、UnauthorizedAccessException等异常。 - 使用
using语句确保资源释放。 - 跨平台开发时注意路径分隔符差异(建议使用
Path类方法)。
更多推荐
所有评论(0)