文件和I/O流的差异:
System.IO命名空间中的常用类:
Copy 将现有文件复制到新文件
Create 在指定路径中创建文件2.FileInfo类:
Directory 获取父目录的实例
Exists 获取指示文件是否存在的值
FullName 获取目录或文件的完整目录
Length 获取当前文件的大小
Name 获取文件名
3.File类和FileInfo类的基本操作方法
注意:
由于File类中的所有方法都是静态的,所以如果只想执行一个操作,那么使用File类中方法的效率比使用相应的FileInfo类中的方法可能更高
File类中的方法都是静态方法,在使用时需要对所有方法都执行安全检查。因此如果打算多次重用某个对象,可考虑改用FileInfo类中的相应方法,因为不总是需要安全检查。
(1)判断文件是否存在Exists方法
返回bool型,如果path为空或者没有权限,则返回false
File:判断C盘根目录下有没有test.txt文件:
File.Exists("C:\\test.txt")
FileInfo:
FileInfo fileinfo = new FileInfo("C:\\test.txt")
if(fileinfo.Exists){}
File类的Create方法有4中重载方法:
public static FileStream Create(string path)
public static FileStream Create(string path,int bufferSize)
public static FileStream Create(string path,int bufferSize,FileOptions options)
public static FileStream Create(string path,int bufferSize,FileOptions options,FileSecurity fileSecurity)
File类Create方法参数说明
path 文件名
bufferSize 用于读取和写入文件的已放入缓冲区的字节数
options FileOptions值之一,它描述如何创建或改写该文件
fileSecurity FileSecurity值之一,它确定文件的访问控制和审核安全性
File类:
File.Create("C:\\test.txt")
FileInfo类:
FileInfo fileinfo = new FileInfo("C:\\test.txt")
fileinfo.Create();
(3)复制文件用File类的Copy方法以及FileInfo类的CopyTo方法
File类的Copy方法或者FileInfo类的CopyTo方法
File类的Copy方法有两种重载方式
public static void Copy(string sourceFileName,string destFileName)
public static void Copy(string sourceFileName,string destFileName,bool overwrite)
sourceFileName表示要复制的文件,destFileName表示目标文件的名称,不能是目录,如果是第一种重载,则目标文件参数不能是现有文件。
overwrite表示是否可以改写目标文件
将C盘根目录下的test.txt文本文件复制到D盘根目录下:
(这边注意措辞,说明D盘根目录下是没有test.txt文件的)
File.Copy("C:\\test.txt","D:\\test.txt")
FileInfo类的CopyTo方法也有两种重载方式
public FileInfo CopyTo(string destFileName)
public FileInfo CopyTo(string destFileName,bool overwrite)
FileInfo fileinfo = new FileInfo("C:\\test.txt");
fileinfo.CopyTo("D:\\test.txt",true);
(4)移动文件用File类的Move方法和FileInfo类的MoveTo方法
File类-Move方法-
public static void Move(string sourceFileName,string destFileName)
File.Move("C:\\test.txt","D:\\test.txt")
FileInfo类-MoveTo方法-publicvoid MoveTo(string destFileName)
FileInfo fileinfo = new FileInfo("C:\\test.txt");
fileinfo.MoveTo("D:\\test.txt");
(5)删除文件用Delete方法
File类-Delete方法-public staticvoid Delete(string path)
File.Delete("C:\\test.txt")
FileInfo类-Delete方法-publicvoid Delete(string path)
FileInfo fileinfo = new FileInfo("C:\\test.txt");
fileinfo.Delete("D:\\test.txt");