1.FileStream类--读取二进制文件
(1)创建一个FilesStream类需要4条信息。
1)要访问的文件
2)打开文件的方式(FileMode:Append,Create,CreateNew,Open,OpenOrCreate,Truncate)
Value | 意义 |
FileMode.Create | 创建文件,之前存在同名的文件将被毁掉 |
FileMode.CreateNew | 创建新文件,这个文件之前不存在 |
FileMode.Open | 打开已经存在的文件 |
FileMode.OpenOrCreate | 打开文件如果存在,否则创建新文件 |
FileMode.Truncate | 打开以存在的文件,将它的内容清除掉 |
FileMode.Append | 以追加的形式将数据写入到文件的最后 |
3) 文件的访问方式(FileAccess:Read,ReadWrite,Write)
4) 文件共享方式(FileShare:Inheritable,None,Read,ReadWrite,Write)
例1:FileStream fs=new FileStream(@"C:/C#project/project.doc",FileMode.Create,FileAccess.Write,FileShare.None);
(2)FileStream类的常用方法
1)Close():关闭流
2)ReadByte();是读取数据的最简单方式,它从流中读取一个字节,把结果转化为一个0~255之间的整数,如达到末尾就返回-1
int NextByte=fs.ReadByte();
3) Read():一次读取多个字节,它返回实际读取的字节数,如果这个值是0,就表示到了流的末尾。
int NextByte=fs.Read(ByteArray,0,nBytes);
第二个参数是偏移值,第三个参数读入数组的字节数。
4) WriteByte():参照2)
5) Write():参照3)
2.StreamReader类--读取文本文件
(1)创建一个实例要以下两方面的信息
1)文件绝对路径
2)编码方式(ASCII,unicode,utf7,utf8,utf32,BigEndianUnicode)
例2:StreamReader sr=new StreamReader(@"c:/P/p.doc",Encoding.UTF8)
流的套接
FileStream fs=new FileStream(@"C:/C#project/project.doc",FileMode.Create,FileAccess.Write,FileShare.None);
StreamReader sr=new StreamReader(fs);
(2) SteramReader类的常用方法
1)Close();
2)ReadLine(); 一次读取一行,但返回的字符串中没有换行符,读到空,则返回NULL
String nextLine=sr.ReadLine();
3)ReadToEnd();读取流的所有剩余内容
4)Read():返回的字符转化成为一个整数,如果到末尾,就返回-1
int nchar=sr.Read(charArray,0,nchars);
3. StreamWrite类
(1)工作方式与StreamReader 类似
(2)常用的方法
1)Close()
2)Write()
String nextLine="Groovy Line";
sw.Write(nextLine);
Char nextChar='a';
sw.Write(nextChar);
Char[] charArray=new Char[100];
sw.write(charArray);
int nCharsToWrite=50;
int startAtLocation=25;
Char[] charArray=new Char[100];
sw.write(charArray,startAtLocation,nCharsToWrite);