博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FileMode.Create and FileAccess.Write
阅读量:5917 次
发布时间:2019-06-19

本文共 760 字,大约阅读时间需要 2 分钟。

using
 (FileStream fs 
=
 
new
 FileStream(nFileNameWithFullPath, FileMode.Create, FileAccess.Write))
{
    
if
 (File.Exists(nFileNameWithFullPath))
    {
        File.Delete(nFileNameWithFullPath);
    }
    
using
 (BinaryWriter bw 
=
 
new
 BinaryWriter(fs))
    {
        bw.Write(fileStream);
    }
}

以上的代码在调用File.Exists()方法的时候总是会返回True,

但是在执行File.Delete()方法的时候却要报错,

原因是当创建一个FileStream实例的时候, 如果FileMode是Create的话,

那么当实例产生的时候就会同时创建一个Bytes为0的File.

所以当调用File.Exists()方法的时候总是会返回True.

修改代码后

if (File.Exists(nFileNameWithFullPath))

{
    File.Delete(nFileNameWithFullPath);
}

using (FileStream fs = new FileStream(nFileNameWithFullPath, FileMode.Create, FileAccess.Write))

{
    using (BinaryWriter bw = new BinaryWriter(fs))
    {
        bw.Write(fileStream);
    }
}

 

转载于:https://www.cnblogs.com/lezyyang/archive/2008/09/13/1290429.html

你可能感兴趣的文章
windows下socket
查看>>
Read This Before Installing Rails 3.1
查看>>
在子MasterPage设置UserControl内的Web控件属性
查看>>
Thrift 基础
查看>>
深入云存储系统Swift核心组件:Ring实现原理剖析
查看>>
[转]Android动态加载jar/dex
查看>>
获取用户控件中控件的ID
查看>>
shell中特殊字符(串)
查看>>
使用数组实现队列----《数据结构与算法分析---C语言描述》
查看>>
14 nginx 中配置 expires缓存提升网站负载
查看>>
Clr静态数据Table-Valued函数
查看>>
HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID
查看>>
排序算法门外汉理解-Shell排序
查看>>
windows下nodejs express安装及入门网站,视频资料,开源项目介绍
查看>>
史上最全最强SpringMVC详细示例实战教程
查看>>
MongoDB 配置文件启动
查看>>
iOS - PackIpa App 打包
查看>>
【调试技巧】FireFox作为移动端的设置
查看>>
Mysql查看执行计划-explain
查看>>
android:exported 属性详解
查看>>