C#中常见的文件处理操作小结

 更新时间:2024年03月14日 16:00:31   作者:林祖师  
这篇文章主要为大家详细介绍了C#中常见的一些文件处理操作,例如文件管理,获取文件信息和控制处理文件,感兴趣的小伙伴可以跟随小编一起学习一下

1.管理文件

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

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() 用于获取目录中的文件列表等操作。

// 创建新目录
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#中常见的文件处理操作小结的文章就介绍到这了,更多相关C#文件处理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • winform dateTime数据类型转换方法

    winform dateTime数据类型转换方法

    这篇文章主要介绍了winform dateTime数据类型转换方法,需要的朋友可以参考下
    2017-02-02
  • 在C#中 webbrowser的使用心得

    在C#中 webbrowser的使用心得

    最近用webbrowser做了个东西,期间有点小曲折,而且网上的解决方法也基本都是浅尝辄止,特此在这里发一下同大家分享。

    2013-04-04
  • C#实现获取多维数组的行数与列数

    C#实现获取多维数组的行数与列数

    这篇文章主要为大家详细介绍了C#如何分别使用Array.GetUpperBound方法和Array.GetLength方法实现获取多维数组的行数与列数,需要的可以参考下
    2024-02-02
  • 设计模式速记

    设计模式速记

    本文主要介绍了设计模式:创建型模式;结构型模式;行为型模式三大类。具有很好的参考价值,相信有助于大家记忆与学习,下面跟着小编一起来看下吧
    2017-02-02
  • WPF实现上下滚动字幕效果

    WPF实现上下滚动字幕效果

    这篇文章主要为大家详细介绍了WPF实现上下滚动字幕效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • C# 写入XML文档三种方法详细介绍

    C# 写入XML文档三种方法详细介绍

    如何使用LINQ to XML对XML进行操作,我们分别用这三个类将同样的xml内容写入文档,需要了解的朋友可以参考下
    2012-12-12
  • C#特性-迭代器(上)及一些研究过程中的副产品

    C#特性-迭代器(上)及一些研究过程中的副产品

    这篇文章主要介绍了C#特性-迭代器(上)及一些研究过程中的副产品,需要的朋友可以参考下
    2014-12-12
  • c#读写excel文件使用示例

    c#读写excel文件使用示例

    这篇文章主要介绍了c#读写excel文件使用示例,需要的朋友可以参考下
    2014-02-02
  • c#如何获取json数组里指定参数

    c#如何获取json数组里指定参数

    这篇文章主要介绍了c#如何获取json数组里指定参数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • winform绑定快捷键的方法

    winform绑定快捷键的方法

    这篇文章主要介绍了winform绑定快捷键的方法,涉及WinForm设置窗体按键事件的相关技巧,需要的朋友可以参考下
    2015-05-05

最新评论