C#文件操作:
文件操作的头文件为System .IO
1、File和fileinfo
file通过静态方法实现,而fileinfo类则通过实例方法实现。Append创建一个streamwrite类型,用于追加文本
2、Create指定文件夹下创建或者覆盖文件
3、Delete删除指定文件
4、Exists检查文件是不是存在
5、Open 制定特有的读写权限打开文件
6、OpenRead 以读取的方式打开现有文件
7、OpenWrite打开或者创建一个现有文件,以写入文件
8、ReadAllText 读取文件的所有行,然后关闭文件
9、WriteAllText写入指定的字符串,然后关闭文件
10.File.AppendAllText(@“D:\Test\Debug1\测试.txt”,“哈哈”);在文件后追加一个字符串
File.Delete(@“G:\456.txt”);//删除文件,括号内为文件的路径
File.Move(@“g:\123.txt”, @“g:\vs2\223.txt”);//(剪切)文件移动路径,第一个变量为需要移动的,第二个为你移动到的位置并且得声明移动后文本文件的名字
File.Copy(@“g:\vs2\223.txt”, @“g:\网页设计\223.txt”);//文件的拷贝自动新建文件俩个参数为路径
属性或方法 | 作用 |
---|---|
DateTime GetCreationTime(string path) | 返回指定文件或目录的创建日期和时间 |
DateTime GetLastAccessTime(string path) | 返回上次访问指定文件或目录的日期和时间 |
DateTime GetLastWriteTime(string path) | 返回上次写入指定文件或目录的日期和时间 |
void SetCreationTime(string path, DateTime creationTime) | 设置创建该文件的日期和时间 |
void SetLastAccessTime(string path, DateTime lastAccessTime) | 设置上次访问指定文件的日期和时间 |
void SetLastWriteTime(string path, DateTime lastWriteTime) | 设置上次写入指定文件的日期和时间 |
文件流stream使用:
流可以理解为内存中字节序列,stream是所有流的抽象基类,每个具体的存储实体都可以 通过stream派生类来实现。如FileStream就是这种储存实体
三个基本操作
1、对流进行读取:将流中的数据读取到具体的数据结构中
2、对流进行写入:吧数据结构中的数据写入到流中
3、对流进行查找:对流内的当前位置进行查询和修改
使用流处理文件
流是一个用于传输数据的对象,数据可以向两个方向传输:
1)如果数据从外部源传输到程序中,这就是读取流
2)如果数据从程序传输到外部源中,这就是写入流
外部源往往是一个文件,但也不完全是文件,他还可能是:
1)使用一些网络协议读写网络上的数据,其目的是选择数据,或从另一个计算机上发送数据
2)读写到命名管道上
3)把数据读写到一个内存区域上
FileStream实例用于读写文件中的数据,要构造FileStream实例,需要以下4条信息:
1)要访问的文件
2)表示如何打开文件的模式
3)表示文件访问的方式—只读、只写还是读写
4)共享访问—表示是否独占访问文件
FileStream常用的属性和方法:
属性:
CanRead 判断当前流是否支持读取,返回bool值,True表示可以读取
CanWrite 判断当前流是否支持写入,返回bool值,True表示可以写入
方法:
Read() 从流中读取数据,返回字节数组
Write() 将字节块(字节数组)写入该流
Seek() 设置文件读取或写入的起始位置
Flush() 清除该流缓冲区,使得所有缓冲的数据都被写入到文件中
Close() 关闭当前流并释放与之相关联的所有系统资源
文件的访问方式:(FileAccess)
包括三个枚举:
FileAccess.Read(对文件读访问)
FileAccess.Write(对文件进行写操作)
FileAccess.ReadWrite(对文件读或写操作)
文件打开模式:(FileMode)包括6个枚举
FileMode.Append 打开现有文件准备向文件追加数据,只能同FileAccess.Write一起使用
FileMode.Create 指示操作系统应创建新文件,如果文件已经存在,它将被覆盖
FileMode.CreateNew 指示操作系统应创建新文件,如果文件已经存在,将引发异常
FileMode.Open 指示操作系统应打开现有文件,打开的能力取决于FileAccess所指定的值
FileMode.OpenOrCreate 指示操作系统应打开文件,如果文件不存在则创建新文件
FileMode.Truncate 指示操作系统应打开现有文件,并且清空文件内容
文件共享方式:(FileShare)
FileShare方式是为了避免几个程序同时访问同一个文件会造成异常的情况。
文件共享方式包括四个:
FileShare.None 谢绝共享当前文件
FileShare.Read 充许别的程序读取当前文件
FileShare.Write 充许别的程序写当前文件
FileShare.ReadWrite 充许别的程序读写当前文件
使用FileStream类创建文件流对象:
FileStream(String 文件路径,FileMode 文件打开模式)
FileStream(String 文件路径,FileMode 文件打开模式,FileAccess 文件访问方式)
FileStream(String 文件路径,FileMode 文件打开模式,FileAccess 文件访问方式,FileShare 文件共享方式)
例:
//在C盘创建a.txt文件,使用fs流对象对文件进行操作,fs的工作模式是新建(FileMode.Create)
FileStream fs=new FileStream(@“c:a.txt”,FileMode.Create);
//在C盘创建a.txt文件,使用fs流对象对文件进行操作,fs工作模式是新建(FileMode.Create)文件的访问模式是写入(Fileaccess.Write)
FileStream fs=new FileStream(@“c:a.txt”,FileMode.Create,FileAccess.Write);
//在C盘创建a.txt文件,使用fs流对象对文件进行操作,fs工作模式是新建(FileMode.Create)文件的访问模式是写入(FileAccess.Write)文件的共享模式是谢绝共享(FileShare.None)
FileStream fs=new FileStream(@“c:a.txt”,FileMode.Create,FileAccess.Write,FileShare.None);
使用File类来创建文件流对象:(常用)
自定义打开文件的方式:File.Open(String,FileMode);