system.io
来源:互联网 发布:linux添加env 编辑:程序博客网 时间:2024/05/16 10:16
System.IO,要操作IO,就需要,确定储存媒介,打开,然后读取或者写入,那么在.Net中这三步是如何的呢?还是老规矩上图
附件: System.IO.jpg
1.打开:
Directory和File,前者用来操作文件夹,后者操作文件,它们和FileSystemInfo的两个子类的区别在于,他们是静态类,对文件或文件夹的操作是弱类型的。而FileSystemInfo的两个子类是实例类,它们是强类型的。
2.储存媒介:
抽象Stream基类,提供了对储存媒介的同步或异步的访问,他把数据流表示为原始的字节流,他的三个子类提供了,基于文件的Filestream,基于内存的MenoryStream。这里用到了GOF23中Decorator(装饰),动态地给一个对象添加一些额外的职责。
附件: Decorator.jpg
- 在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。
- 处理那些可以撤消的职责。
- 当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况可能是因为类定义被隐藏,或类定义不能用于生成子类。
3.读取或写入:读取(写入)有三种方式,StreamReader(Writer):以字节流读取(写入),StringReader(Writer):以字符串流读取(写入),BinaryReader(Writer):以2进制流读取(写入)
- FileStream fs = File.Open(@"C:/Users/kevin/Desktop/1.txt", FileMode.OpenOrCreate);//打开文件返回一个文件流
- StreamReader sr = new StreamReader(fs);
- string str = sr.ReadToEnd();//以字节读取文件
- StreamWriter sw = new StreamWriter(fs);
- sw.Write("1234");//以字节写文件
- fs.Close();
- /**/////或者使用下面的
- BinaryWriter bw = new BinaryWriter(fs);
- bw.Write("1234");//以二进制写文件
- fs.Close();
- system.io
- The System.IO Namespace
- System.IO命名空间
- System.IO.Ports.SerialPort
- System.IO.Packages 初探
- C#-System.IO
- System.IO.FileSystemWatcher 类
- System.IO.Path
- System.IO.FileSystemWatcher
- System.IO 命名空间
- 【解决方法】System.IO.FileNotFoundException
- System.IO.Path类
- System.IO 命名空间
- 使用 System.IO 序列
- System.IO命名空间
- System.IO.Path类
- System.IO.Stream
- System.IO命名空间
- 虚函数和多态性的简单认识
- 求低于平均分的人数
- 泡妞与23种设计模式(转)
- Linux下磁盘空间配额使用(quota)
- linux下环境变量有关命令
- system.io
- .NET设计规范(三) 类型设计规范
- (4) 设计模式笔记[模板模式]
- 在Ubuntu下sudo不需要密码的方法
- gcc Debug版本生成
- ASP.NET中读取XML文件4种方法
- Page.ClientScript.RegisterStartupScript语句中的Alert字符串如果带有回车则不能弹出
- php调用mysql存储过程(关于CLIENT_MULTI_RESULTS)
- Android应用程序基本原理(3:进程与线程)