当前位置: 首页 > news >正文

C#处理文件

目录

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

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# 中关于文件、驱动器、目录、路径和文件信息的处理方法。如果您有任何其他问题或需要进一步的帮助,请随时联系我。祝您编程愉快!

http://www.lryc.cn/news/319822.html

相关文章:

  • git |常用命令
  • 力扣100热题:两、三、四数之和,哈希+数组+双指针+排序
  • 国外visa卡怎么办理,可充ChatGPTPLUS、Claude、Midjourney
  • 【Web】记录[长城杯 2022 高校组]b4bycoffee题目复现
  • C++ 多路音频pcm混音算法
  • Golang 泛型定义类型的时候前面 ~ 代表什么意思
  • 泽众云真机-机型支持ADB调试功能即将上线
  • 基于springboot的购物商城管理系统
  • uni-app开发特点和开发流程
  • Sentinel篇:线程隔离和熔断降级
  • HTML静态网页成品作业(HTML+CSS)——家乡广州介绍设计制作(5个页面)
  • 【Java IO流】缓冲流和对象流的解析和应用实例
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Select)
  • mysql将一个表另存为新表,同时复制索引、约束、主键等信息
  • 基于springboot+vue的房屋交易平台
  • 17个工作必备的Python自动化代码分享(上篇)
  • python-0008-修改django数据库为mysql
  • oracle用户密码过期
  • 安全地使用v-html
  • MongoDB从0到1:高效数据使用方法
  • Go——运算符,变量和常量,基本类型
  • js使用canvas实现图片鼠标滚轮放大缩小拖拽预览,显示像素坐标,显示像素值
  • ArrayList 源码解析和设计思路
  • Win10系统使用IIS服务搭建WebDAV网站结合内网穿透公网访问本地文件
  • AWTK 开源串口屏的配置文件
  • Spring、SpringMVC、Spring Boot常见注解有哪些?不要混淆了哦
  • 在notion里面实现四象限清单
  • 【linux】搜索所有目录和子目录下的包含.git的文件并删除
  • 三、传输层拥塞控制、差错控制
  • 主流电商平台数据大规模数据采集接口的实现:电商API接口接入方案和电商数据采集现状