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.pdf
29             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         }
时间: 2024-08-28 03:15:23

FileStream、StreamReader、StreamWriter的使用及区别的相关文章

File FileStream StreamReader StreamWriter C#

存在各种各样的IO设备,比如说文件File类(字符串文件和二进制文件),可以直接使用File类对文件进行读写操作. 这些各种IO的读取和写入是通过流的形式实现的,基类为Stream,针对各种不同的IO设备,就有FileStream,MemoryStream. FileStream可以实现任意格式,任意大小文件的读取,但是它的方法只能读取字节,不能直接读取读字符串或读一行等等,操作偏底层. 各种流的专用读写类Reader和Writer,主要用于方便读写文本和字符串,这些类中不仅可以用来读取字节,也

C#文件与流(FileStream、StreamWriter 、StreamReader 、File、FileInfo、Directory、directoryInfo、Path、Encoding)

(FileStream.StreamWriter .StreamReader .File.FileInfo.Directory.DirectoryInfo.Path.Encoding) C#文件与流(FileStream.StreamWriter .StreamReader .File.FileInfo.Di,有需要的朋友可以参考下. 文件与流(FileStream.StreamWriter .StreamReader .File.FileInfo.Directory.DirectoryInfo

C#流总结(文件流、内存流、网络流、BufferedStream、StreamReader/StreamWriter、TextReader/TextWriter)

一.文件流 FileStream类主要用于读写磁盘文件.常用于向磁盘存储数据或读取配置文件. 读取文件:复制代码 //文件流:读取 FileStream fileStream = File.Open(@"D:\test.txt", FileMode.Open);//初始化文件流 byte[] array = new byte[fileStream.Length];//初始化字节数组,用来暂存读取到的字节 fileStream.Read(array, 0, array.Length);/

filestream streamreader

filestream是一个读取文件的stream,其本身也是支持read和write的,负责的对文件的读与写,而streamreader则是建立在对流的基础上的读,同时还有streamwrite http://bbs.csdn.net/topics/280026654 基本相似,但是目标数组的类型不同,streamreader一个为char[],filestream一个为byte[]. http://developer.51cto.com/art/200908/143638.htm http:/

FileStream和BinaryReader,BinaryWriter,StreamReader,StreamWriter的区别

FileStream对于在文件系统上读取和写入文件非常有用,FileStream缓存输入和输出,以获得更好的性能.FileStream对象表示在磁盘或网络路径上指向文件的流.这个类提供了在文件中读写字节的方法,但经常使用StreamReader或StreamWriter执行这些功能.这是因为FileSteam类操作的是字节和字节数组,而Stream类操作的是字符数据.FileStream只能处理原始字节(raw byte),处理原始字节的功能使用FileStream类可以用于处理任何数据文件.通

C#中FileStream和StreamWriter/StreamReader的区别

首先致谢!转自:http://blog.sina.com.cn/s/blog_67299aec0100snk4.html 本篇可能不是非常深入,但是胜在清晰明了 FileStream对象表示在磁盘或网络路径上指向文件的流.这个类提供了在文件中读写字节的方法,但经常使用StreamReader或 StreamWriter执行这些功能.这是因为FileStream类操作的是字节和字节数组,而Stream类操作的是字符数据.这是这两种类的一个重要区别,如果你是准备读取byte数据的话,用StreamR

C#对文件/目录的操作:Path、File、Directory、FileStream、StreamWriter、StreamReader等类的浅析

一.Path:主要对文件路径的操作! 常用方法: String [email protected]"C:\a\b\c\123.txt"; 1-1.Path.GetFileName(path); //获得文件名:123.txt 1-2.Path.GetExtenSion(path); //获得后缀名:.txt 1-3.Path.GetFileNameWithoutExtension(path); //获得无后缀文件名:123 1-4.Path.GetDirectoryName(path)

12-21C#电脑蓝屏效果(可以恶搞整人哦)、输入输出流(StreamReader/streamWriter)

一.winform电脑蓝屏效果 第一种方法:基本操作: 第一步:创建一个新的C#窗体“Form1”: 第二步:在设计窗口中,更改其属性: 1)text属性:将form1的text属性中的文字取消掉,然后让该窗体名称显示空白: 2)showIcon属性:因为winform窗体默认带有Icon图标,只需要将showIcon属性更改为false(不显示Icon图标): 3)StartPosition属性:centerScreen; 4)FormBoderStyle属性:设置为None;(会将form的

0505.Net基础班第二十一天(基础加强总复习)

1.取消播放器的自动播放功能 2.播放或者暂停按钮 3.下一曲.上一曲 4.多选删除 5.静音和放音 6.选择列表中的音乐文件,单击播放按钮直接播放 7.自动进行下一曲 15秒  44秒 当我和世界不一样 44.--47 那就让我不一样 lblInfomation.Text = musicPlayer.currentMedia.duration.ToString() + "\r\n" + musicPlayer.currentMedia.durationString + "\