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# 中关于文件、驱动器、目录、路径和文件信息的处理方法。如果您有任何其他问题或需要进一步的帮助,请随时联系我。祝您编程愉快!
相关文章:
C#处理文件
目录 1.管理文件2.管理驱动器3.管理目录4.管理路径5.获取文件信息6.控制如何处理文件 1.管理文件 C# 中使用 File 类可以进行文件的读取、写入和删除操作。File 类提供了多个静态方法来处理文件,如 File.Exists() 用于检查文件是否存在,File.ReadAllTex…...
git |常用命令
git 命令 非常常用 主流的仓库管理服务器,svn 和git 接下来,介绍git 操作(自用 先讲一个简单的demo 流程 环境:centos、git #先创建一个本地 git 文件夹 mkdir test && cd ./test #写一个README.md #echo “# 张不大 的de…...
力扣100热题:两、三、四数之和,哈希+数组+双指针+排序
目录 一、两数之和 二、两数之和 II - 输入有序数组 三、两数之和 III - 数据结构设计 四、两数之和 IV - 输入 BST(二叉搜索树) 五、三数之和 六、四数之和 一、两数之和 题目:1. 两数之和 参考力扣题解:. - 力扣&#x…...
国外visa卡怎么办理,可充ChatGPTPLUS、Claude、Midjourney
很多小伙都在使用ChatGPT,但是想充值ChatGPTPLUS缺需要国外的visa卡,拿自己的银联卡,尝试了好多次还是不行,其实用一张国外的visa卡几分钟就可以升级好 办理国外visa卡,点击获取 国外的visa卡,具体要看你…...
【Web】记录[长城杯 2022 高校组]b4bycoffee题目复现
目录 前言 环境准备 简单分析 EXP 前言 本地jar包运行打通了,远程500,nss靶机有问题,换了bugku就可( 主要记录下做题过程,纯菜狗,小白文 环境准备 这次附件给的jar包是可执行jar,不是可依赖jar&…...
C++ 多路音频pcm混音算法
1、均值化混音算法 不适合商用,声音的损失比较大,不建议用,建议用第二种声音混音 short remix(short pcm1,short pcm2){ int value pcm1 pcm2; return (short)(value/2) } 2、归一化混音算法 输入数据为48Khz-2-16bit音频数据 方法&#…...
Golang 泛型定义类型的时候前面 ~ 代表什么意思
先看代码,定义一个简单的泛型 c1 里面一个 int ,定义一个函数goods 下面 main函数进行调用, 如果直接传int 类型是不会报错的,但是如果传自定义类型的b就会报错。 type c1 interface {int }func goods[T c1](a T) {fmt.Println(a) }type myint intfunc …...
泽众云真机-机型支持ADB调试功能即将上线
最近云真机平台在线客服,收到很多咨询关于ADB调试功能,什么时候能更新?据小编所知,正在升级之中,有一块专门为了解决ADB调试功能提前准备,升级网络硬件设备,目前平台的功能已开发完成࿰…...
基于springboot的购物商城管理系统
1.项目简介 1.1 用户简介 用户主要分为管理员和用户端: 管理员: 管理员可以对后台数据进行管理、拥有最高权限、具体权限有登录后进行首页轮播图的配置管理、商品的配置、新品家具商城的配置管理、、家具商城分类管理配置、家具商城详情商品管理、用户…...
uni-app开发特点和开发流程
uni-app是一个基于Vue.js框架的跨平台应用开发框架,通过一套代码可以同时运行在多个平台上,包括iOS、Android、H5等。它采用了基于流布局的页面渲染机制,可以自动适配不同平台的屏幕尺寸和分辨率。uniapp官网:https://uniapp.dclo…...
Sentinel篇:线程隔离和熔断降级
书接上回:微服务:Sentinel篇 3. 隔离和降级 限流是一种预防措施,虽然限流可以尽量避免因高并发而引起的服务故障,但服务还会因为其它原因而故障。 而要将这些故障控制在一定范围,避免雪崩,就要靠线程隔离…...
HTML静态网页成品作业(HTML+CSS)——家乡广州介绍设计制作(5个页面)
🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有5个页面。 二、作品演示 三、代…...
【Java IO流】缓冲流和对象流的解析和应用实例
目录 前言 一、缓冲流 四种方式拷贝文件的用时对比 二、对象流 1. 使用对象流写入对象到本地文件 2. 使用对象流读取对象数据 总结 前言 【File文件管理及IO流(基本流)】http://t.csdnimg.cn/uG5Ff 该篇博客中,介绍了学习高级流需要的…...
鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Select)
提供下拉选择菜单,可以让用户在多个选项之间选择。 说明: 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 无 接口 Select(options: Array<SelectOption>) 参数:…...
mysql将一个表另存为新表,同时复制索引、约束、主键等信息
使用 SHOW CREATE TABLE 语句获取原表的创建语句: SHOW CREATE TABLE 原表名;将 原表名 替换为要复制的原始表的名称。 此语句将返回一个包含原表完整创建语句的结果集。创建语句包括表的结构、列定义、索引、约束、主键等所有信息。 复制结果集中的创建语句&…...
基于springboot+vue的房屋交易平台
博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 主要内容:毕业设计(Javaweb项目|小程序|Pyt…...
17个工作必备的Python自动化代码分享(上篇)
引言 Python是一种流行的编程语言,以其简单性和可读性而闻名。因其能够提供大量的库和模块,它成为了自动化各种任务的绝佳选择。让我们进入自动化的世界,探索17个可以简化工作并节省时间精力的Python脚本。 目录(上篇࿰…...
python-0008-修改django数据库为mysql
操作系统 centos7 执行 在虚拟环境中执行: pip3 install mysqlclient2.2.4 -i https://mirrors.aliyun.com/pypi/simple无法安装问题 如果安装mysqlclient时提示找不到对应的版本,或者编译失败,请退出虚拟环境,执行以下操作&…...
oracle用户密码过期
很久不用的项目遇到报错 2024-03-14 11:15:01.806 [Druid-ConnectionPool-Create-110651474] ERROR com.alibaba.druid.pool.DruidDataSource 2879 - create connection SQLException, url: jdbc:oracle:thin://192.168.0.54:1521/orcl, errorCode 28001, state 99999 java.sq…...
安全地使用v-html
vue2 1、 使用插件DOMPurify DOMPurify是一个开源的基于DOM的快速XSS净化工具。输入HTML元素,然后通过DOM解析递归元素节点,进行净化,输出安全的HTML <div v-html"sanitizedContent"></div>import DOMPurify from dompurify; data () {return {htmlCont…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
