C#关于"该进程无法访问文件,因为该文件正由另一进程使用"的错误的一点心得(示例)

using  System;
using  System.IO;
class  ExStream
{
    
public static void Main(String[] args)
    
{

        Console.WriteLine(
"请输入一个文件名:");
        
string Filename = Console.ReadLine();
        
try
        
{
            FileStream filestr 
= new FileStream(Filename, FileMode.OpenOrCreate);
            BinaryWriter binwrt 
= new BinaryWriter(filestr);
            
for (int i = 0; i < 20; i++)
            
{
                binwrt.Write((
int)i);
            }

            binwrt.Close();
            filestr.Close();

            filestr 
= new FileStream(Filename, FileMode.Open, FileAccess.Read);
            BinaryReader binread 
= new BinaryReader(filestr);
            
for (int i = 0; i < 20; i++)
            
{
                Console.WriteLine(binread.ReadInt32());
                binwrt.Close();
            }

            filestr.Close();

            
//文件流应要关闭
            
//否则下面的文件删除操作就会出现
            
//"文件正由另一进程使用,因此该进程无法访问该文件。"的错误提示
            
//我们可以将filestr.Close()删掉或放到其他位置来试试运行结果
            if (File.Exists(Filename))
            
{
                File.Delete(Filename);
                Console.WriteLine(
"成功执行文件删除");
            }


        }

        
catch (Exception ex)
        
{
            Console.WriteLine(ex.ToString());
        }

    }

           
}


// 心得:解决"文件正由另一进程使用,因此该进程无法访问该文件。"的错误,
// 我们可以从“我是否将之前所有操作这个文件的流都Close()了”这个角度来思考。
// 以上只是一个简单的文件处理示例,在ASP.NET中三层模式中用上面的思维来解决问题也是很可行的。
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值