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#文件处理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#通过IComparable实现ListT.sort()排序

    C#通过IComparable实现ListT.sort()排序

    这篇文章主要介绍了C#通过IComparable实现ListT.sort()排序的方法,可实现自定义的排序方法,是非常实用的技巧,需要的朋友可以参考下
    2014-09-09
  • C# 串口接收数据中serialPort.close()死锁的实例

    C# 串口接收数据中serialPort.close()死锁的实例

    下面小编就为大家分享一篇C# 串口接收数据中serialPort.close()死锁的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-11-11
  • Unity游戏开发中的桥接模式

    Unity游戏开发中的桥接模式

    桥接模式是Unity游戏开发中常用的设计模式之一,用于将抽象部分与实现部分分离,从而使它们可以独立地变化。通过桥接模式,不同的抽象类可以与不同的实现类组合使用,从而实现更加灵活和可扩展的系统设计。常见的应用包括游戏中的场景渲染、UI界面设计、音效播放等
    2023-05-05
  • 简介Winform中创建用户控件

    简介Winform中创建用户控件

    用户控件可以让开发人员对VS控件进行组装。下面我们来创建一个按钮的用户控件我们可以给它添加属性,并且添加相应鼠标移入、移出事件。
    2013-03-03
  • c#动态加载卸载DLL的方法

    c#动态加载卸载DLL的方法

    这篇文章介绍了c#动态加载卸载DLL的方法,有需要的朋友可以参考一下
    2013-11-11
  • C#基于纯数学方法递归实现货币数字转换中文功能详解

    C#基于纯数学方法递归实现货币数字转换中文功能详解

    这篇文章主要介绍了C#基于纯数学方法递归实现货币数字转换中文功能,涉及C#针对字符串的遍历、转换与数学运算相关操作技巧,需要的朋友可以参考下
    2017-02-02
  • C#中获取程序路径的几种方法及其区别说明

    C#中获取程序路径的几种方法及其区别说明

    这篇文章主要介绍了C#中获取程序路径的几种方法及其区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • C# 编码好习惯,献给所有热爱c#的同志

    C# 编码好习惯,献给所有热爱c#的同志

    c#编写者,需要培养的一些好习惯
    2009-02-02
  • C# Partial:分部方法和分部类代码实例

    C# Partial:分部方法和分部类代码实例

    这篇文章主要介绍了C# Partial:分部方法和分部类代码实例,本文直接给出代码实现,需要的朋友可以参考下
    2015-03-03
  • C# wpf 通过HwndHost渲染视频的实现方法

    C# wpf 通过HwndHost渲染视频的实现方法

    日常开发中,特别是音视频开发,需要在界面上渲染视频,比如制作一个播放器、或者视频编辑工具、以及视频会议客户端。通常拿到的是像素格式数据,此时需要渲染到wpf窗口上就需要一定的方法,本文介绍一种通过hwnd渲染的方法,控件既能提供hwnd又能嵌入wpf窗口里
    2021-11-11

最新评论