文件操作

3. 读取文件

 

代码示例与注释

  

using System.IO;
using System.Text;
 
public class FileReadingExample
{
    public string ReadFromFile(string filePath)
    {
        string content = string.Empty;
 
        // 使用StreamReader读取文本内容
        using (StreamReader sr = new StreamReader(filePath, Encoding.UTF8))
        {
            content = sr.ReadToEnd();
            Console.WriteLine($"Content read from file '{filePath}': {content}");
        }
 
        return content;
    }
}
 
// 使用示例
public static class Program
{
    static void Main(string[] args)
    {
        var fileReadingExample = new FileReadingExample();
        string fileContent = fileReadingExample.ReadFromFile("C:\\Temp\\NewFile.txt");
        Console.WriteLine($"Read content: {fileContent}");
    }
}

 

using System;
using System.IO;
 
public class FileInfoExample
{
    public void DisplayFileInfo(string filePath)
    {
        // 获取FileInfo对象
        FileInfo fileInfo = new FileInfo(filePath);
 
        // 输出文件属性
        Console.WriteLine($"File Name: {fileInfo.Name}");
        Console.WriteLine($"Full Path: {fileInfo.FullName}");
        Console.WriteLine($"Size: {fileInfo.Length} bytes");
        Console.WriteLine($"Last Write Time: {fileInfo.LastWriteTime}");
        Console.WriteLine($"Exists: {fileInfo.Exists}");
    }
}
 
// 使用示例
public static class Program
{
    static void Main(string[] args)
    {
        var fileInfoExample = new FileInfoExample();
        fileInfoExample.DisplayFileInfo("C:\\Temp\\NewFile.txt");
    }
}

复制

using System.IO;
 
public class FileManagementExample
{
    public void CopyFile(string sourcePath, string destinationPath)
    {
        File.Copy(sourcePath, destinationPath, overwrite: true);
        Console.WriteLine($"File '{sourcePath}' copied to '{destinationPath}'.");
    }
 
    public void MoveFile(string sourcePath, string destinationPath)
    {
        File.Move(sourcePath, destinationPath);
        Console.WriteLine($"File '{sourcePath}' moved to '{destinationPath}'.");
    }
}
 
// 使用示例
public static class Program
{
    static void Main(string[] args)
    {
        var fileManagementExample = new FileManagementExample();
 
        fileManagementExample.CopyFile("C:\\Temp\\NewFile.txt", "C:\\Temp\\CopiedFile.txt");
        fileManagementExample.MoveFile("C:\\Temp\\CopiedFile.txt", "C:\\Temp\\MovedFile.txt");
    }
}

文件搜索与遍历

using System;
using System.IO;
 
public class DirectoryTraversalExample
{
    public void SearchFiles(string directoryPath, string searchPattern, Action<string> fileFoundAction)
    {
        // 遍历指定目录及其子目录,查找匹配搜索模式的文件
        foreach (string filePath in Directory.GetFiles(directoryPath, searchPattern, SearchOption.AllDirectories))
        {
            fileFoundAction(filePath);
        }
    }
}
 
// 使用示例
public static class Program
{
    static void Main(string[] args)
    {
        var directoryTraversalExample = new DirectoryTraversalExample();
 
        directoryTraversalExample.SearchFiles(
            "C:\\Temp",
            "*.txt",
            filePath =>
            {
                Console.WriteLine($"Found file: {filePath}");
                // ... 对找到的文件执行其他操作 ...
            });
    }
}

异步操作

using System.IO;
using System.Threading.Tasks;
 
public class AsyncFileOperationsExample
{
    public async Task WriteAsync(string filePath, string content)
    {
        await File.WriteAllTextAsync(filePath, content);
        Console.WriteLine($"Content written asynchronously to file '{filePath}'.");
    }
 
    public async Task<string> ReadAsync(string filePath)
    {
        string content = await File.ReadAllTextAsync(filePath);
        Console.WriteLine($"Content read asynchronously from file '{filePath}': {content}");
        return content;
    }
}
 
// 使用示例
public static class Program
{
    static async Task Main(string[] args)
    {
        var asyncFileOperationsExample = new AsyncFileOperationsExample();
 
        await asyncFileOperationsExample.WriteAsync("C:\\Temp\\AsyncFile.txt", "Hello, Async World!");
 
        string asyncFileContent = await asyncFileOperationsExample.ReadAsync("C:\\Temp\\AsyncFile.txt");
        Console.WriteLine($"Read async content: {asyncFileContent}");
    }
}

 

posted @ 2024-06-13 11:12  十年之前,十年之后  阅读(42)  评论(0)    收藏  举报