我写了一个程序用c#写文件,现在的情况是如果写到一半程序意外终止那个写了一半的文件还存在,我想问一下如果在写文件过程中程序意外终止,怎样用程序实现让那个写了一半的不完整的文件自动删除掉。

解决方案 »

  1.   

    在catch 中捕获异常,然后对损坏文件操作
    try
    {
    file.write("e:\sdfsdf.txt");
    }
    catch
    {
    if(File.exist())
    {
    File.delete("e:\sdfsdf.txt");
    }
    }
      

  2.   

    楼上,你是说将删除文件的语句放在catch中吗,可程序已关闭它还会执行catch中的语句吗,我记的好像没有程序终止异常
      

  3.   


    try
    {
    }
    catch (Exception ex)
    {
      File.Delete(FileName);
    }
    finally
    {
    }
      

  4.   


    try
    {
    }
    catch (Exception ex)
    {
      File.Delete(FileName);
    }
      

  5.   


    try
    {
    }
    catch (Exception ex)
    {
      File.Delete(FileName);
    }
      

  6.   

    楼上是说将删除文件的操作放到catch中吗,可我记的没有程序终止这个异常吧
      

  7.   

    try
    {
    }
    catch (Exception ex)
    {
      File.Delete(FileName);
    }
      

  8.   


    try
    {
    }
    catch (Exception ex)
    {
      File.Delete(FileName);
    }
      

  9.   


    try
    {
    }
    catch (Exception ex)
    {
      File.Delete(FileName);
    }
      

  10.   

    可是程序已经关闭了还会执行catch中的语句吗
      

  11.   

    如果是程序发生异常用try{}catch(){}是可以捕获的,但是捕获后不会导致程序关闭!在程序关闭事件里用一个值来判断数据是否读取完成,如果读取未完成就把文件给删了! 不知道这种思路行不行?