C#处理文件

2024-03-19 2965阅读

目录

  • 1.管理文件
  • 2.管理驱动器
  • 3.管理目录
  • 4.管理路径
  • 5.获取文件信息
  • 6.制如何处理文件

    1.管理文件

    C# 中使用 File 类可以进行文件的读取、写入和删除操作。File 类提供了多个静态方法来处理文件,如 File.Exists() 用于检查文件是否存在,File.ReadAllText() 用于读取文件内容,File.WriteAllText() 用于写入文件内容,File.Delete() 用于删除文件等操作。

    C#处理文件 第1张
    ()
    using System;
    using System.IO;
    class Program
    {
        static void Main()
        {
            // 输出当前目录
            string currentDirectory = Directory.GetCurrentDirectory();
            Console.WriteLine("当前目录: {0}", currentDirectory);
            // 创建新文件夹并显示消息
            string newFolder = Path.Combine(currentDirectory, "NewFolder");
            Directory.CreateDirectory(newFolder);
            Console.WriteLine("已创建新文件夹: {0}", newFolder);
            // 创建新文件并显示消息
            string newFile = Path.Combine(currentDirectory, "NewFile.txt");
            File.WriteAllText(newFile, "Hello, World!");
            Console.WriteLine("已创建新文件: {0}", newFile);
            // 检查文件是否存在并读取内容
            if (File.Exists(newFile))
            {
                string fileContent = File.ReadAllText(newFile);
                Console.WriteLine("文件内容: {0}", fileContent);
            }
            // 删除文件和文件夹并显示消息
            File.Delete(newFile);
            Console.WriteLine("已删除文件: {0}", newFile);
            Directory.Delete(newFolder);
            Console.WriteLine("已删除文件夹: {0}", newFolder);
        }
    }
    

    2.管理驱动器

    DriveInfo类可以获取有关计算机上驱动器的信息,例如可用空间、卷标和驱动器类型等。

    using System;
    using System.IO;
    class Program
    {
        static void Main()
        {
            DriveInfo[] allDrives = DriveInfo.GetDrives();
            foreach (DriveInfo d in allDrives)
            {
                Console.WriteLine("驱动器 {0}", d.Name);
                Console.WriteLine("  驱动器类型: {0}", d.DriveType);
                if (d.IsReady == true)
                {
                    Console.WriteLine("  卷标: {0}", d.VolumeLabel);
                    Console.WriteLine("  文件系统: {0}", d.DriveFormat);
                    Console.WriteLine("  当前用户可用空间:{0, 15} 字节", d.AvailableFreeSpace);
                    Console.WriteLine("  总可用空间:          {0, 15} 字节", d.TotalFreeSpace);
                    Console.WriteLine("  驱动器总大小:            {0, 15} 字节 ", d.TotalSize);
                }
            }
        }
    }
    

    3.管理目录

    C# 中使用 Directory 类可以进行目录的创建、删除和遍历操作。Directory 类提供了多个静态方法来处理目录,如 Directory.CreateDirectory() 用于创建目录,Directory.Delete() 用于删除目录,Directory.Exists() 用于检查目录是否存在,Directory.GetDirectories() 用于获取目录中的子目录列表,Directory.GetFiles() 用于获取目录中的文件列表等操作。

    C#处理文件 第2张
    ()
    // 创建新目录
    string newDirectory = Path.Combine(currentDirectory, "NewDirectory");
    Directory.CreateDirectory(newDirectory);
    Console.WriteLine("已创建新目录: {0}", newDirectory);
    // 检查目录是否存在并获取子目录列表和文件列表
    if (Directory.Exists(newDirectory))
    {
        string[] subDirectories = Directory.GetDirectories(newDirectory);
        Console.WriteLine("子目录列表:");
        foreach (string subDir in subDirectories)
        {
            Console.WriteLine(subDir);
        }
        string[] files = Directory.GetFiles(newDirectory);
        Console.WriteLine("文件列表:");
        foreach (string file in files)
        {
            Console.WriteLine(file);
        }
    }
    // 删除目录
    Directory.Delete(newDirectory);
    Console.WriteLine("已删除目录: {0}", newDirectory);
    

    4.管理路径

    C# 中使用 Path 类可以进行路径操作,包括合并路径、获取文件名和扩展名等。Path 类提供了多个静态方法来处理路径,如 Path.Combine() 用于合并路径, Path.GetFileName() 用于获取文件名, Path.GetExtension() 用于获取文件扩展名等。

    // 合并路径示例
    string path1 = @"C:\Dir1";
    string path2 = "Dir2";
    string combinedPath = Path.Combine(path1, path2);
    Console.WriteLine("合并后的路径: " + combinedPath);
    // 获取文件名和扩展名示例
    string filePath = @"C:\Dir1\file.txt";
    string fileName = Path.GetFileName(filePath);
    string fileExtension = Path.GetExtension(filePath);
    Console.WriteLine("文件名: " + fileName);
    Console.WriteLine("文件扩展名: " + fileExtension);
    

    5.获取文件信息

    C# 中使用 FileInfo 类可以获取文件的详细信息,如文件大小、创建时间、修改时间等。FileInfo 类提供了多个属性和方法来获取文件信息,如 Length 属性用于获取文件大小, CreationTime 属性和 LastWriteTime 属性分别用于获取文件的创建时间和最后修改时间等。

    using System;
    using System.IO;
    class Program
    {
        static void Main()
        {
            try
            {
                string filePath = @"C:\example\file.txt";
                // 检查文件是否存在
                if (File.Exists(filePath))
                {
                    FileInfo fileInfo = new FileInfo(filePath);
                    // 获取文件名
                    string fileName = fileInfo.Name;
                    Console.WriteLine("文件名: " + fileName);
                    // 获取文件大小
                    long fileSizeInBytes = fileInfo.Length;
                    Console.WriteLine("文件大小 (字节): " + fileSizeInBytes);
                    // 获取文件扩展名
                    string fileExtension = fileInfo.Extension;
                    Console.WriteLine("文件扩展名: " + fileExtension);
                    // 获取文件创建时间
                    DateTime creationTime = fileInfo.CreationTime;
                    Console.WriteLine("创建时间: " + creationTime);
                }
                else
                {
                    Console.WriteLine("文件不存在");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("发生错误: " + ex.Message);
            }
        }
    }
    

    6.控制如何处理文件

    在 C# 中,您可以使用 File 类和 Directory 类来控制文件和目录的处理。下面是一些常见的操作:

    读取文件内容:

    string text = File.ReadAllText(@"C:\example\file.txt");
    

    写入文件内容:

    string content = "Hello, World!";
    File.WriteAllText(@"C:\example\file.txt", content);
    

    复制文件:

    File.Copy(@"C:\example\file.txt", @"D:\backup\file.txt", true);
    

    删除文件:

    File.Delete(@"C:\example\file.txt");
    

    检查文件是否存在:

    if (File.Exists(@"C:\example\file.txt"))
    {
        // 文件存在时的处理逻辑
    }
    

    创建目录:

    Directory.CreateDirectory(@"C:\example\newfolder");
    

    获取目录中的所有文件:

    string[] files = Directory.GetFiles(@"C:\example");
    foreach (string file in files)
    {
        Console.WriteLine(file);
    }
    

    希望这些内容能够帮助您更好地了解和掌握 C# 中关于文件、驱动器、目录、路径和文件信息的处理方法。如果您有任何其他问题或需要进一步的帮助,请随时联系我。祝您编程愉快!


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]