继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

C#-大文件拷贝 113

慕尼黑5497867
关注TA
已关注
手记 378
粉丝 21
获赞 77

首先说下文件流为什么要在最后使用Close()与Dispose()方法,在C#程序中资源分为两类

托管资源:由CLR管理分配和释放的资源,即由CLR里new出来的对象,最后有系统的垃圾回收机制进行管理和释放

非托管资源:不受CLR管理的对象,是windows内核对象,如文件、数据库连接等,需要我们手动地去释放这些资源,释放方法是去实现接口IDisposable,通过实现其方法可以释放非托管资源或者需要显示释放的托管资源,也可以说只要是继承实现这个接口的类,就需要调用Close()与Dispose()方法,但是每次使用比如文件流时都写这两个方法感觉麻烦,可以使用using关键字,被using包裹的作用域范围内的文件流最后会自动调用其方法进行资源释放

C#-大文件拷贝 113

大文件拷贝代码

首先确立要读取的源文件和写入目标文件的存储路径,写入时需要选择FileMode的Create的枚举值,通过while循环将读取的文件流写入目标文件中

注意:1)读取文件前需要检测一下该文件是否存在,如果不存在就会报异常

2)行号53 写入时不再是缓冲区的长度,而是缓冲区中实际读取到文件流的长度

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP