首页 > 代码库 > FileStream、StreamReader、StreamWriter的使用及区别
FileStream、StreamReader、StreamWriter的使用及区别
- FileStream可以操作任何文件。
- FileStream可以操作大型文件。
- StreamReader和StreamWriter只针对文本文件操作,文本文件操作起来比较简单。
1 private void button1_Click(object sender, EventArgs e) 2 { 3 //FileStream可以读写任何文件,SteamReader、SteamWriter只适合读写文本文件 4 5 using (FileStream fs = new FileStream("test.txt", FileMode.OpenOrCreate, FileAccess.Read)) 6 { 7 byte[] buffer = new byte[1024 * 1024];//Filestream读取、写入时需要以字节数组形式。 8 string ct = ""; 9 while (true)//大的文件需要分几次读取,所以需要循环读取10 {11 int a = fs.Read(buffer, 0, buffer.Length);12 13 ct += Encoding.Unicode.GetString(buffer);14 if (a == 0)15 {16 break;17 }18 }19 textBox1.Text = ct;20 }21 22 23 }24 25 private void button2_Click(object sender, EventArgs e)26 {27 28 //把文件test.pdf复制为test1.pdf29 using (FileStream fsread = new FileStream("test.pdf", FileMode.OpenOrCreate, FileAccess.Read))30 {31 using (FileStream fswriter = new FileStream("test1.pdf", FileMode.Create, FileAccess.Write))32 {33 byte[] bytes = new byte[1024 * 1024];34 while (true)35 {36 int a = fsread.Read(bytes, 0, bytes.Length);37 fswriter.Write(bytes, 0, a);38 if(a==0)39 {40 break ;41 }42 }43 }44 }45 MessageBox.Show("复制成功");46 }47 48 private void button_sr_Click(object sender, EventArgs e)49 {50 string readers = "";51 using (StreamReader sr = new StreamReader("test.txt", Encoding.Default))52 {53 char [] buffer=new char [2014*2014];//准备一个char数组作为容器54 while (true )//当文本太多,一次没有读完,一直读取55 {56 int a = sr.Read(buffer, 0, buffer.Length);57 if(a==0)58 {break ;}59 readers += new string(buffer);//重新把char数组转换成文本60 }61 62 }63 textBox1.Text = readers;64 }65 66 private void button_sw_Click(object sender, EventArgs e)67 {68 using (StreamReader sr=new StreamReader ("test.txt",Encoding .Default) )69 {70 using (StreamWriter sw=new StreamWriter ("test2.txt",false ,Encoding .Default))71 {72 73 while (sr.Peek ()>=0)//用些方法判断是否读到了文件尾,不过好像会丢失空文本。74 {75 string a= sr.ReadLine();76 77 sw.WriteLine(a);78 }79 80 }81 82 }83 }
FileStream、StreamReader、StreamWriter的使用及区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。