文件的操作
来源:互联网 发布:知乎 丁芙妮马上上 编辑:程序博客网 时间:2024/05/29 15:36
01、各种关于文件或流的输入输出操作,都需要导入System.IO命名空间。
02、File类提供的方法都是静态的,所以不需要实例化就可以直接使用,简化了了程序操作步骤。
03、File类提供的常用方法有:
AppendText
创建一个StreamWriter对象,用于在指定文件的末尾添加新的内容,如果指定文件不存在,则自动创建这个文件。
Copy
拷贝指定文件。
Copy方法必须带两个参数,第一个参数为源文件所在的路径;第二个参数为目标文件所在的心路径。还可以再带一个Bool类型的可选参数,如果其值为True,表示如果目标文件已经存在,那么新文件可以覆盖原来的文件。
Move
移动指定文件到新的路径。
与Copy方法基本一样,但是没有那个Bool型参数。而且重命名也可以通过这个方法实现,只要文件名不同就可以了。意义为先把源文件拷贝到新路径中,然后删除源文件。
Delete
删除指定文件。
带一个参数。
Exists
判断指定的文件是否存在。
Open
以指定的方式、权限打开指定文件。
OpenRead
以只读的方式打开指定文件。
OpenText
创建一个StreamReader对象,用于读取指定文本文件的内容。
这个方法只有一个字符串类型参数,就是需要指定需要读取的文本文件的绝对路径。如果是相对路径,就需要使用Server.MapPath()方法来取得当前目录的绝对路径。它的返回值是一个StreamReader类,接下来的操作就可以利用StreamReader类的操作放来来完成对文本文件的读写。通过SteamReader对象的ReadLine方法,程序就能读取SteamReader中的每一行数据。
OpenWrite
以读写的方式打开指定文件。
Create
创建一个指定文件。
CreateText
创建一个文本文件。
StreamWriter类的作用便是实现文件写的操作。StreamWriter类有两个写入方法:一个是WriteLine;另一个是Write,二者的区别是前者是每行每行的写入,后者是不按行写入(即每行文本后加有“/n”换行符)。接着使用Flush方法将缓冲区中的数据内容,真正的写入文件中,并用Close()方法关闭StreamWrite对象。为了防止写入文本文件的内容是乱码可以使用System.Text.Encoding.GetEncoding("GB2312")来指定写入内容的编码格式。
04、在Windows系统中如果输入输出的数据小于64KB,则采用同步模式可以获得比较好的效果,使用的方法是Read和Write方法;而当输入输出的数据大于64KB时,则采用异步模式,使用的是BeginRead和BeginWrite方法。
05、FileStream有很多种建立方式,最常见的方式是:
FileStream fs = new FileStream(string OpenFileName, FileMode, FileAccess)。
这种方式有三个参数:第一个参数为需要打开的文件名;第二个参数为打开的模式(有六种打开模式:Append、Open、Create、CreateNew、OpenOrCreate、Truncate);第三个参数为访问权限(有三种访问权限:Read、Write、ReadWrite)。
06、FileStream提供了很多种有用的方法和属性,常用的有:
CanRead
判断当前流(Stream)是否支持读取操作。
CanWrite
判断当前流是否支持写入的操作。
CanSeek
判断当前流是否支持搜索。
IsAsync
判断当前流是否处于异步打开模式。
Position
获取或设置当前流所处的位置。
Flush
将当前缓冲区的数据写入文件。
Lock
锁定当前流的部分或全部,以防止其他文件访问。
Read
从当前流中读取字节块,然后存入指定的缓冲区。
ReadByte
从文件中读取一个字节,然后将读取位置向前移一个字节。
Seek
设置当前流操作的指针位置。
UnLock
解除锁定。
Write
向当前流写入字节块。
WriteByte
在当前流位置写入一个字节。
这些方法和属性是FileStream常用的,但很多情况下很少使用。在编程时可以将这些方法交给StreamReader、StreamWriter、BinaryReader、BinaryWriter这些类来完成操作。
07、BinaryReader和BinaryWriter都有一个BaseStream属性,它们用于控制当前文件流的各项操作。通过BaseStream的Seek方法定义操作流的操作指针位置,Seek方法需要两个参数,第一个参数表示指针的定位位置;第二个参数则定义指针定位的相对位置(可以设定三个值:Begin、Current、End)。
08、DirectoryInfo类和FileInfo类,前者用于获取目录的相关信息,后者用于获取文件的相关信息。
DirectoryInfo常用的属性和方法:
Create方法
创建一个新目录。
CreateSubDirectories方法
创建一个或者多个子目录。
Delete方法
删除一个目录。
Exists属性
判断目录是否存在。
GetDirectories方法
获取当前目录的子目录集合。
GetFiles方法
获取当前目录的文件集合。
GetFileSystemInfos方法
获取当前目录FileSystemInfo(包括目录和文件)集合。
MoveTo方法
将整个目录移到一个新的路径。
Name属性
获取当前目录的目录名。
Parents属性
获取当前目录的父目录名。
Root属性
获取当前目录的根目录。
FileInfo常用的属性和方法有:
CopyTo方法
将一个存在的文件拷贝为一个新文件。
AppendText方法
创建一个StreamWriter对象,用于在文件尾部添加新文本。
Create方法
创建一个新文件。
CreateText方法
创建一个SteamWriter对象,用于创建一个新文本文件。
Delete方法
删除文件。
Exists属性
用于判断文件是否存在。
Length属性
获取文件的大小。
MoveTo方法
将文件移到一个新的路径。
CopyTo方法
将文件拷贝到一个新的路径。
Name属性
获取文件名。
Extension属性
获取文件的扩展名。
FileInfo类与DirectoryInfo类共有的时间属性有:
CreationTime
目录或文件的创建时间。
LastAccessTime
最后一次访问时间。
LastWriteTime
最后一次修改时间。
- 文件操作文件的读入
- 文件操作文件的读入
- 文件与文件的操作
- 文件的操作
- 文件、文件夹的操作
- 对文件的操作
- CBuilder的文件操作
- 简单的文件操作
- 对文件的操作
- C的文件操作
- Javascript的文件操作
- 文件的相关操作
- ACE的文件操作
- ACE 的文件操作
- VB6的文件操作
- C的文件操作
- 文件操作的函数
- 文件的一些操作
- 我为何坐不上财富快车 四招助你快速赚钱
- 5个IO口扫描25个按键的解决方法
- Django - Philosophies and Limitations
- pygtk程序模板
- DataTable合并
- 文件的操作
- 请加入 Debian 中文翻译!
- 【转】海量数据题目收集
- 语言喜爱程度:C > C++ > C#
- Newtonsoft.Json序列化和反序列
- windows服务读写Ini文件
- C# 对象的拷贝
- oracle常用命令
- echo $PATH