FileInfo fl;
        private string X;   
        public void WriteLog()
        {
            try
            {
                DirectoryInfo di = new DirectoryInfo(@"d:\Log");
                if (di.Exists)
                {
                    Console.WriteLine("已存在Log目录");
                }
                else
                {
                    Console.WriteLine("不存在Log目录");
                }
                di.Create();
                Console.WriteLine("目录已创建");
                X = System.DateTime.Now.ToShortDateString();
                X = "d:\\Log\\" + X + ".log";                fl = new FileInfo(X);
                if (fl.Exists)
                {
                    Console.WriteLine("已找到文件");
                }
                else
                {
                    Console.WriteLine("未找到文件");
                }
                fl.Create();
                
                Console.WriteLine("文件创建成功");
            }
            catch (Exception e)
            {
                Console.WriteLine("出现错误{0}",ToString());
            }
           
       }
        public void WriteData()
        {
            try
            {
                FileStream fs = new FileStream(X, FileMode.Append, FileAccess.Write);
                StreamWriter w = new StreamWriter(fs);
                Console.WriteLine("Enter a string");
                string str = Console.ReadLine();
                w.Write(str);
                w.Flush();
                w.Close();
                fs.Close();
            }
            catch (Exception e)
            {
                Console.WriteLine("出现错误{0}", ToString());
            }
        }
出错的地方在写入之前无法终止进程,说进程还是被另一个使用,希望大家帮忙解决一下,本人菜鸟,刚接触C#,希望各位大虾不要写的太难,最好带注释.谢谢了.

解决方案 »

  1.   

    if (di.Exists)
                    {
                        Console.WriteLine("已存在Log目录");
                        return;
                    }
      

  2.   

    这跟加不加return没有关系,不信你也可以试试,最后还是文件被进程占用.
      

  3.   

    if (di.Exists)
                    {
                        Console.WriteLine("已存在Log目录");
                    }
                    else
                    {
                        Console.WriteLine("不存在Log目录");
                        di.Create();
                        Console.WriteLine("目录已创建");
                    }
      

  4.   

    一样的,这个不是放进else里面就能解决的.而是创建完目录以后又创建文本文件,然后从控制台输入字符串写入这个文本文件里.现在的错误是,创建完文本文件就一直在使用着,无法再打开,说进程正在被使用.麻烦各位帮我解决.说的我听不懂,代码搞定,谢啦.