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

C# 文件/文件夹操作(文本写入,追加,覆盖,清空,文件/文件夹新建,复制,删除,移动)+驱动器+目录+路径+Path类大全

目录

文件操作

简述

File类

简述

常用方法

FIleInfo类

简述

常用方法

驱动器操作

简述

Driveinfo类

常用属性

目录操作与路径操作

目录与路径的区别

DirectoryInfo类

常用方法属性

Path类

简述

常用方法属性


以下类都来自System.IO命名空间,大致总结了一下,方便以后使用

文件操作

简述

文件属于文件的一种,与普通文件载体不同,文件是以硬盘为载体存储在计算机上的信息集合。

文件可以是文本文档、图片、程序等等。文件通常具有点+三个字母的文件扩展名,用于指示文件类型(例如,图片文件常常以JPEG格式保存并且文件扩展名为.jpg)。

File类

简述

File类都是静态方法,是工具类,内部方法很多,效率最高,速度最快

常用方法

//使用file的静态方法进行复制
File.Copy(path, destpath);
//使用File的静态方法删除路径下的一个文件
File.Delete(path);
//使用File的静态方法移动路径下的一个文件
File.Move(path, destpath);
File.ReadAllText(path); //打开一个文本文件*.txt ,读取文件中数据,然后关闭该文件
//写入
File.WriteAllText(path, "要写入文件的字符串"); //创建一个文件,向其中写入数据,如果此路径下有同名文件则会覆
File.AppendAllText(path,"内容")//文本追加

FIleInfo类

简述

FileInfo类功能也非常强大,多使用获取/修改文件的参数信息,而且因为是实例方法所以在多次对文件进行操作时,效率会更高(因为它们在构造时就读取了文件系统对象的身份验证和其他信息,无论调用了多少方法,都不需要再次读取这些信息。)

常用方法

 FileInfo myfile = new FileInfo(path); //声明一个对象对某一个文件进行操作
        myfile.CopyTo(destpath);  //对文件进行复制操作,复制路径为destpath
        myfile.MoveTo(destpath);  //进行移动操作
        myfile.Delete();          //进行删除操作
        DateTime dt = myfile.CreationTime;  //获取或设置文件/文件夹的创建日期
        string filepath = myfile.DirectoryName; //仅能用于FileInfo,获得完整的路径名,路径+文件名
        bool file = myfile.Exists;              //此属性的值表示文件或文件夹是否存在,存在会返回True
        string fullname = myfile.FullName;     //获取文件或文件夹的完整路径名
        DateTime lastTime = myfile.LastAccessTime; //获取或设置最后一次访问文件或文件夹的时间
        DateTime lastWrite = myfile.LastWriteTime; //获取或设置最后一次修改文件夹或文件夹的时间
        string name = myfile.Name;                 //获取文件名,不能修改哦
        long length = myfile.Length;                  //返回文件的字节大小

驱动器操作

简述

在计算机领域,驱动器指的是磁盘驱动器。通过某个文件系统格式化并带有一个驱动器号的存储区域。存储区域可以是软盘、CD、硬盘或其他类型的磁盘。单击“Windows资源管理器”或“我的电脑”中相应的图标可以查看驱动器的内容。

Driveinfo类

常用属性

Driveinfo driveInfo = new Driveinfo("你的驱动器名");//比如C,D
driveInfo.AvailableFreeSpace //只读属性,获取驱动器上的可用空闲空间量(以字节为单位)
driveInfo.DriveFormat //只读属性,获取文件系统格式的名称,例如 NTFS 或 FAT32
driveInfo.DriveType //只读属性,获取驱动器的类型,例如 CD-ROM、可移动驱动器、网络驱动器或固定驱动器
driveInfo.IsReady //只读属性,获取一个指示驱动器是否已准备好的值,True 为准备好了, False 为未准备好
driveInfo.Name //只读属性,获取驱动器的名称,例如 C:\
driveInfo.RootDirectory //只读属性,获取驱动器的根目录
driveInfo.TotalFreeSpace  //只读属性,获取驱动器上的可用空闲空间总量(以字节为单位)
driveInfo.TotalSize //只读属性,获取驱动器上存储空间的总大小(以字节为单位)
driveInfo.VolumeLabel //属性, 获取或设置驱动器的卷标
driveInfo.GetDrives() //静态方法,检索计算机上所有逻辑驱动器的驱动器名称,返回值为数组

目录操作与路径操作

目录与路径的区别

所谓的目录的终点是文件夹,与之相对的路径的终点是具体的某个文件

比如:

路径 -》》 F:\JAVA EE Preject\untitled2\IO\src\Main.java

目录-》》  F:\JAVA EE Preject\untitled2\IO\src\

DirectoryInfo类

常用方法属性

-------实例化-------
DirectoryInfo info = new DirectoryInfo("你的文件目录");
-------属性--------
-------------------
Attributes
它用于获取或设置当前文件或目录的属性。


CreationTime
它用于获取或设置当前文件或目录的创建时间。


CreationTimeUtc
它用于在协调的世界时间(UTC)中获取或设置创建时间。


Exists
它用于获取一个值,指示目录是否存在。


Extension
它用于获取表示文件扩展部分的字符串。


FullName
它用于获取目录的完整路径。


LastAccessTime
它用于获取或设置上次访问当前文件或目录的时间。


LastAccessTimeUtc
用于在当前文件或目录被上次访问的协调世界时间(UTC)中获取或设置时间。


LastWriteTime
它用于获取或设置当前文件或目录最后写入的时间。


LastWriteTimeUtc
当最后一次写入当前文件或目录时,它用于在协调世界时(UTC)中获取或设置时间。


Name
它用于获取此DirectoryInfo实例的名称。


Parent
它用于获取指定子目录的父目录。


Root
它用于获取目录的根部分。


-------方法--------
-------------------
Create()
它用于创建一个目录。


Create(DirectorySecurity)
它用于使用DirectorySecurity对象创建目录。


CreateObjRef(Type)
它用于创建一个对象,其中包含生成用于与远程对象通信的代理所需的所有相关信息。


CreateSubdirectory(String)
它用于在指定的路径上创建一个子目录或子目录。


CreateSubdirectory(String,DirectorySecurity)
它用于在具有指定安全性的指定路径上创建子目录或子目录。


Delete()
如果DirectoryInfo为空,则用于删除DirectoryInfo。


Delete(Boolean)
它用于删除DirectoryInfo的实例,指定是否删除子目录和文件。


EnumerateDirectories()
它返回当前目录中可用的目录信息集合。


EnumerateFiles()
它在当前目录中返回无数的文件信息集合。


GetAccessControl()
它用于获取一个DirectorySecurity对象,该对象封装了目录的访问控制列表(ACL)条目。


GetDirectories()
它返回当前目录的子目录。


GetFiles()
它从当前目录返回文件列表。


GetType()
它用于获取当前实例的类型。


MoveTo(String)
它用于将DirectoryInfo实例及其内容移动到新路径。


Refresh()
它用于刷新对象的状态。


SetAccessControl(DirectorySecurity)
它用于设置DirectorySecurity对象描述的访问控制列表(ACL)条目。


ToString()
它返回用户传递的原始路径。

Path类

简述

NET Framework提供了Path类,以帮助在程序中管理文件和目录路径,Path类位于System.IO命名空间,是一个静态类,可以用来操作路径的每一个字段,如驱动器盘符、目录名、文件名、文件扩展名和分隔符等。Path类的常用字段成员有PathSeperator(路径分隔符,如”;”)、DirectorySeparatorChar(目录分隔符,如”\”)、VolumeSeparator(卷分隔符,如”:”)、AltDirectorySeparator(替换目录分隔符,如”/”),常用的方法成员有GetDirectoryName(取目录名)、GetFileName(取文件名)、GetExtension(取文件扩展名)、GetFullPath(取完整路径)、GetTempPath(取操作系统的临时文件路径)等,例如,以下代码表示提取并显示路径中的目录名和文件名。

常用方法属性

----------属性---------
---------------------
char DirectorySeparatorChar;	得到目录分隔符。在windows里,目录分隔符是'\'。
char AltDirectorySeparatorChar;	得到替换的目录分隔符。返回结果是'/',意思是用'/'也能进行目录分隔。
char VolumeSeparatorChar;	得到卷分隔符。在windows中,比如"C:\Users"表示一个路径,':'就是卷分隔符。

---------方法----------
-----------------------
string ChangeExtension(string path, string extension);	
改变路径字符串的扩展名。将path包含的扩展名替换为extension。

比如调用Path.ChangeExtension("xxx.mp4", "avi"),返回的结果就是"xxx.avi"。

string Combine(string path1, string path2);

string Combine(string path1, string path2, string path3);

string Combine(string path1, string path2, string path3, string path4);

string Combine(params string[] paths);

string GetDirectoryName(string path);//返回目录名	

string GetExtension(string path);	
返回指定路径文件的扩展名   注意会把'.'也返回。

string GetFileName(string path);	
返回指定路径文件中的文件名+扩展名。

比如调用Path.GetFileName(@"C:\Users\Suzkfly\Desktop\test.txt");,会得到test.txt。

string GetFileNameWithoutExtension(string path);	
返回不具有扩展名的指定路径字符串的文件名。

string GetFullPath(string path);	
返回指定路径的完整路径。这里返回的路径是基于本程序当前运行时所处路径。


char[] GetInvalidFileNameChars();	获取不允许出现在文件名中的字符,并将它们放到数组中返回。

char[] GetInvalidPathChars();	获取不允许出现在路径名中的字符,并将它们放到数组中返回。

string GetPathRoot(string path);	
获取指定路径的根目录信息。

string GetRandomFileName();	返回随机文件夹名或文件名。就是随机得到一个名字。

string GetTempFileName();	
在磁盘上创建唯一命名的零字节的临时文件,并返回该文件的完整路径。调用该方法要注意2点,

string GetTempPath();	返回当前用户的临时文件夹的路径。

bool HasExtension(string path);	确定路径是否包括文件扩展名。

bool IsPathRooted(string path);	确定路径中是否包含根(盘符)。

部分参考

最全的C#文件操作 - 你也很优秀 - 博客园 (cnblogs.com)

百度百科_全球领先的中文百科全书

路径和目录的区别_liaowenxiong的博客-CSDN博客_目录和路径

C# Path类 - Suzkfly - 博客园 (cnblogs.com)

相关文章:

  • Less预处理——变量和嵌套
  • BEVerse 中数据集预处理代码浅析
  • 算法每日一题(合并两个有序的数组)
  • SpringBoot整合Swagger
  • ProcExp的利用
  • C++内存管理
  • 33、Java 异常掌握这些就够了(图解 Java 中的异常)
  • springboot-方法处理4-消息转换器
  • FPGA底层资源综述
  • CLIP扩展
  • 从一维卷积、因果卷积(Causal CNN)、扩展卷积(Dilation CNN) 到 时间卷积网络 (TCN)
  • 高等数学(第七版)同济大学 习题8-2 个人解答
  • [HJ56 完全数计算]
  • 【nlp】天池学习赛-新闻文本分类-机器学习
  • 机器人系统,如何快速算法开发与原型机验证?
  • ----------
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • Apache Spark Streaming 使用实例
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • EOS是什么
  • Java-详解HashMap
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • mysql 5.6 原生Online DDL解析
  • Vue 动态创建 component
  • 阿里云购买磁盘后挂载
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 手机app有了短信验证码还有没必要有图片验证码?
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​人工智能书单(数学基础篇)
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (2020)Java后端开发----(面试题和笔试题)
  • (Git) gitignore基础使用
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (四)汇编语言——简单程序
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (一)kafka实战——kafka源码编译启动
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • *上位机的定义
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET Framework .NET Core与 .NET 的区别
  • .net MVC中使用angularJs刷新页面数据列表
  • .net 获取url的方法
  • .NET 事件模型教程(二)
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .NET基础篇——反射的奥妙
  • .net实现客户区延伸至至非客户区