文件操作
一、文件内容的读和写
1、步骤
1、创建文件流
1.导入命名空间:System.IO
2.创建文件流对象
FileStream stream =new FileStream (String 路径,FileMode的打开方式); FileStream stream = new FileStream(“文件路径”, 文件的打开方式:FileMode);
FileMode是enum的枚举,是文件的打开方法;
枚举:约定一个变量的值的范围
1.CreateNew:创建新的文件,如果文件已经存在会异常;
2.Create :创建新文件,文件如果已经存在了直接打开已经存在的文件
3.Open :打开一个已经存在的文件,如果文件不存在会报错
4.OpenOrCreat:[Open打开,create创建,or或者]文件存在则打开已经存在的文件;文件不存在先创建一个新的文件,再打开
5.Truncate:文件存在,先把里面的内容删除,然后再往里面写内容;文件不存在,异常
6.Append :Append追加,打开一个已经存在的文件,在最后添加内容;如果文件不存在,则异常
2、创建阅读器/写入器
1.阅读器:StreamReader
(1)创建对象:
StreamReader sr= new StreamReader(文件流);
(2)StreamReader常用方法:
ReadLine(): 读取文件一行
ReadToEnd():读取到文件的末尾
Close()关闭
2.写入器
(1)创建对象:
StreamWriter sw = new StreamWriter(文件流);
(2)常用方法:
Write():输出后不换行
WriteLine():输出后换行
Close():关闭
3、执行读写操作
4、关闭阅读器/写入器
5、关闭文件流
二、文件和目录的操作
1、文件的操作
File类:用于对文件进行操作
1.File类的常用方法:
Exists(string path):用于检查指定文件是否存在
Copy(string sourceFilePath,string destinationFilePath):指定路径的源文件的内容复制到目标文件中,如果目标文件不存在,在指定路径新建一个文件
Move(string sourceFilePath,string destinationFilePath):将指定文件移到一个新的路径
Delete(string path):删除指定的文件,如果指定的文件不存在,不引发异常
2.FileInfo类:可以完成对文件的的基本操作
属性:Exists:用于检查指定文件是否存在,返回一个布尔值
Extension:获取表示文件扩展名部分的字符串
Name:获取文件名
FullName:获取目录或文件的完整目录
方法:CopyTo(string):将现有文件复制到新文件,不允许覆盖现有文件
Delete():永久删除文件
MoveTo(string):将指定文件移到新位置
3.Directory类用于对文件夹进行操作
Exists(string path):用于检查指定文件夹在磁盘上是否存在
Move(string sourceDirName,string destDirName):用于将文件或目录及其内容移到新位置
Delete(string path,bool recursive):删除指定目录,如果recursive值为true,删除子目录中的所有目录内容
CopyTo(原来路径,新路径):将现有文件复制到新文件,不允许覆盖现有文件
Delete():永久删除文件
String[] GetDirectories(path):获取所有子目录
String[] GetFiles(path):获取所有子文件
4.DirectoryInfo类与Directory类功能类似,可以完成对文件夹的基本操作
方法:MoveTo(newPath):移到
GetDirectories():该方法返回当前目录对象数组
GetFiles():该方法返回当前目录下的文件列表
属性:Exists:判断是否存在;Name:名字
2、static和非static类的区别
1.static只能包含静态成员;非static可以包含非静态成员
2.static类只能通过类名去调用成员
3.static类不能实例化,static类不能够包含构造函数