使用 Stream 类管理字节流

使用 FileStream 类管理文件数据

使用 MemoryStream 类管理内存数据

使用 BufferedSream 类提高流性能

 

3.1

FileStream

C#回顾 - 3.NET的IO:字节流-LMLPHP

 

 

MemoryStream

Seek 定位,寻址

C#回顾 - 3.NET的IO:字节流-LMLPHP

 

 

BufferedStream

 

C#回顾 - 3.NET的IO:字节流-LMLPHP

 

 

3.2 管理应用程序数据

文本、流、字符串和二进制数据

管理文本数据和字符串

(1)TextReader 类 (抽象类)

(2)TextWriter 类  (抽象类)

管理字符串

使用 binaryReader 和 BinaryWrter 管理二进制数据

C#回顾 - 3.NET的IO:字节流-LMLPHP

C#回顾 - 3.NET的IO:字节流-LMLPHP

3.2.1.文件操作

       //真的关联到某一个文件
//StreamReader对文本文件:读 <--父类:Stream
//StreamWriter对文本文件:写 <--父类:Stream
string file = @"F:\text.txt";
FileStream fs = File.Open(file, FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(fs); sw.WriteLine("现在是:{0},", DateTime.Now);
sw.Flush();
sw.Close(); StreamReader sr = new StreamReader(File.Open(file, FileMode.Open));
Console.WriteLine(sr.ReadToEnd());

C#回顾 - 3.NET的IO:字节流-LMLPHP

 

3.2.2.字符串操作

         //在内存中,把string当作文件来操作
//StringReader对string:读 <--TextReader
//StringWriter对string:写 <--TextWiter
StringBuilder sb = new StringBuilder(); StringWriter sws = new StringWriter(sb);
sws.WriteLine(123 + 321);
sws.WriteLine(true);
StringReader srr = new StringReader(sb.ToString());
Console.WriteLine(srr.ReadToEnd());

C#回顾 - 3.NET的IO:字节流-LMLPHP

 

3.2.3.二进制操作

        //二进制
BinaryWriter bw = new BinaryWriter(File.Open(@"F:\a.dat", FileMode.OpenOrCreate));
bw.Write(true);
bw.Write('A');
bw.Write(123); bw.Flush();
bw.Close(); //读取的时候要按照顺序
BinaryReader br = new BinaryReader(File.Open(@"F:\a.dat", FileMode.Open));
Console.WriteLine(br.ReadBoolean()); //对应true
Console.WriteLine(br.ReadChar()); //对应'A'
Console.WriteLine(br.ReadInt32()); //对应123

C#回顾 - 3.NET的IO:字节流-LMLPHP

 

C#回顾 - 3.NET的IO:字节流-LMLPHP

05-07 15:30