目录
序
以下类都来自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)