File Fileinfo FileStream StreamReader
File
FileStream fs = File.Open(txtpath);
提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建 FileStream。
FileInfo
FileInfo fi = new FileInfo(txtpath);
FileStream fs = fi.Open();
提供用于创建、复制、删除、移动和打开文件的实例方法,并协助创建 FileStream。
Fs = fi.Open(FileMode.Append,FileAccess.Read,FileShare.None);
FileMode :指定是保留还是覆盖现有文件的内容,并指定创建现有文件的请求是否会导致
异常。
CreateNew 创建新的。文件若存在,则异常。
Create 创建新的。文件若存在,则覆盖。
Open 打开文件。若文件不存在,则异常。
OpenOrCreate 打开或文件。若文件不存在,则创建新的。
Truncate 打开文件,并将内容置为零字节。
Append 打开文件,在文件结尾追加内容。
FileAccess :指定对文件的读取和写入访问。
Read 只读打开。
Write 只写打开。
ReadWrite 读写打开。
FileShare :为已在使用中的文件指定允许的访问级别。
None 不与其他程序共享读写。
Read 允许其他程序读。
Write 允许其他程序写。
ReadWrite 允许其他程序读写。
Delete 允许随后删除文件。
FileStream
利用FileStream 我们可以得到一个文件的Stream,接着就是来读取。
Stream
Stream是所有流的抽象基类。
StreamReader StreamWriter
StreamReader sr = new StreamReader(fs);
StreamReader旨在以一种特定的编码输入字符,而 Stream 类用于字节的输入和输出。
StreamReader的默认编码为 UTF-8
StreamReader.read()//读取输入流中的下一个字符
StreamReader.read(Char[],Int32,Int32)//从index开始,从当前流中将count个字
符读入char[]中
StreamReader 将字节转换为字符,从 Stream 读取字符。
StreamWriter 将字符转换为字节,向Stream 写入字符。
比较:StreamReader的read() 和 FileStream的read()区别
StreamReader的read()把Stream读入到char[]中。读取的是字符
public override int Read(char[] buffer,int index,int count)
FileStream的read()把Stream读入到byte[]数组中 。读取的是字节
public override int Read(byte[] array,int offset,int count)