问题是这样的。
1.我首先调用一个EXE生成了三个txt文件
2.用FileStream   fs   =   new   FileStream( filepath,  FileMode.Open,   FileAccess.Read   );  读取三个文件。
3.读完后调用File.delete();删除三个文件。
4.重复(1)(2)
问题:
  第三步操作完后,重复操作(1)(2)时在第二步报错“找不到文件”,可是文件夹下明明有那个文件的。这是啥原因导致的那?  为何执行第三步delete文件后,再执行(1)生成文件后在第(2)步却读不出来那?疑惑! 
    

解决方案 »

  1.   


    using System;
    using System.IO;
    using System.Text;public class StreamReaderDemo
    {
        public static void Main()
        {
            string fileName = "";//定义你的文件名
            ReadFile();
        }    private static void ReadFile(string fileName)
        {
            //如果存在文件
            if (File.Exists(fileName))
            {
                FileStream stream = File.Create(fileName);//创建基于字节的流对象
                StreamReader reader = new StreamReader(stream);//创建基于字符的流对象
                string line = reader.ReadLine();//读取第一行,并不输出显示
                while ((line = reader.ReadLine()) != null)//从第二行开始读,并输出
                {
                    Console.WriteLine(line);//输出当前行的内容
                }
            }
            else
            {
                Console.WriteLine("并不存在文件。");
            }
        }
    }if (File.Exists(fileName))在删除之前用这个判断一下。
      

  2.   

    if (File.Exists(fileName))判断一下文件是否存在
      

  3.   


    你读完以后记得fs.Close(),否则文件还是出于打开状态,不一定能够正确的删除。
      

  4.   

    如果没有第三步,操作一切正常,加入第三步以后,第一次执行正常,执行完(3)后再运行就不正常。
    用if (File.Exists(fileName))判断提示文件不存在,可是到文件夹下查看文件是存在的。
    执行第三步,删除文件后,查看文件夹,文件的确删除。
    执行第一步后,文件也的确生成了,
    但第二步就是找不到文件。
    很奇怪呀
      

  5.   

    不知道咋回事又自动好了,感觉好像与DotNetBar有关