string fileName = "新建 文本文档.txt";
            string FilePath = @"D:\txt";
            if (Directory.Exists(FilePath) == false)
            {
                Directory.CreateDirectory(FilePath);
            }
            for (int i = 0; i < listBox1.Items.Count; i++)
            {
                string content = lvInceptNum.Items[i].Text;
                FileStream fs = new FileStream(FilePath + fileName, FileMode.OpenOrCreate, FileAccess.Write);
                StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
                sw.Flush();
                sw.BaseStream.Seek(0, SeekOrigin.Begin);
                sw.WriteLine(content);
                sw.Flush();
                sw.Close();
                MessageBox.Show(content);            }代码运行成功,但是打开文本文档却没有任何东西。求助各位大侠!

解决方案 »

  1.   

    而且,你这个string FilePath = @"D:\txt";其中@"D:\txt"是什么文件,是不是缺少文件名啊
      

  2.   

    D:\txt对啊。你文件名都不对吧
      

  3.   

    如果文件夹txt不存在的话,你只是创建了一个目录,目录下没有新建 文本文档.txt文件的。写入操作是不可能完成的。
      

  4.   

    下断点,一步一步的看,content是否内容。还有就是你路径看是否正确
      

  5.   

     到D盘根目录下找“txt新建 文本文档.txt”这个文件吧,原因是
    string FilePath = @"D:\txt";缺了个\;
    另外,你在循环里开文件流实例效率太低了,可以放到外面去。
      

  6.   

           string fileName = "新建 文本文档.txt";
                string FilePath = @"D:\txt";
                if (Directory.Exists(FilePath) == false)
                {
                    Directory.CreateDirectory(FilePath);
                }
                for (int i = 0; i < listBox1.Items.Count; i++)
                {
                    string content = "adfdf";
                    FileStream fs = new FileStream(FilePath + @"\"+fileName, FileMode.OpenOrCreate, FileAccess.Write);
                    StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
                    sw.Flush();
                    sw.BaseStream.Seek(0, SeekOrigin.Begin);
                    sw.WriteLine(content);
                    sw.Flush();
                    sw.Close();
                    MessageBox.Show(content);            }
      

  7.   

     这句加一个@"\"
    FileStream fs = new FileStream(FilePath + @"\"+fileName, FileMode.OpenOrCreate, FileAccess.Write);
      

  8.   

    我修改了下你的代码,觉得直接用using控制IO开关,用StreamWriter写IO,代码如下:            string fileName = "新建 文本文档.txt";
                string FilePath = @"D:\txt";
                if (Directory.Exists(FilePath) == false)
                {
                    Directory.CreateDirectory(FilePath);
                }
                for (int i = 0; i < listBox1.Items.Count; i++)
                {
                    string content = lvInceptNum.Items[i].Text;
                    
                    //FileStream fs = new FileStream(FilePath + fileName, FileMode.OpenOrCreate, FileAccess.Write);
                    //StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
                    //sw.Flush();
                    //sw.BaseStream.Seek(0, SeekOrigin.Begin);
                    //sw.WriteLine(content);
                    //sw.Flush();
                    //sw.Close();
                    //用下面这个简洁些
                    string fpath = FilePath + @"\" + fileName;
                    using (StreamWriter sw = new StreamWriter(fpath, true, System.Text.Encoding.GetEncoding("GB2312")))//中间的true表示已"追加"的方式写入文件
                    {
                        sw.WriteLine(content);
                        //MessageBox.Show(content);//for debug
                    }            }
    供您参考,试试