使用c#创建.txt文件到特定目录

时间:2014-05-19 13:25:26

标签: c#

我编写了以下程序来为特定目录创建 .txt 文件。但我无法创建该文件。我甚至将路径更改为字符串fileName = @"D:\\abc.txt";,程序将编译,但不会创建该特定目录的文件。

有人会帮我弄清楚可能是什么错误吗?

namespace SimpleLicense
{
    class Program
    {
        static void Main(string[] args)
        {

            string fileName = @"C:\\Temp\\abc.txt";

            try
            {
                // Check if file already exists. If yes, delete it. 
                if (File.Exists(fileName))
                {
                    File.Delete(fileName);
                }

                // Create a new file 
                using (StreamWriter sw = File.CreateText(fileName))
                {
                    sw.WriteLine("Installed Date: {0}", DateTime.Now.ToString());
                    sw.WriteLine("Thermo Licensing System file");

                    DateTime newDate = DateTime.Now.AddDays(31);
                    sw.WriteLine("License Expires After"+newDate);

                   // sw.WriteLine("Add ");
                   // sw.WriteLine("Done! ");
                }

                // Write file contents on console. 
                using (StreamReader sr = File.OpenText(fileName))
                {
                    string s = "";
                    while ((s = sr.ReadLine()) != null)
                    {
                        Console.WriteLine(s);
                    }
                }
            }
            catch (Exception Ex)
            {
                Console.WriteLine(Ex.ToString());
            }
        }
    }
}

5 个答案:

答案 0 :(得分:6)

你应该这样做:

string fileName = "C:\\Temp\\abc.txt";

string fileName = @"C:\Temp\abc.txt";

@字面解释字符串,因此您不需要转义反斜杠。

注意:

当我这样做时:string fileName = @"C:\Users\Shashank\Desktop\test.txt";(对于我的电脑)

它确实有效,文本文件如下:

Installed Date: 5/19/2014 9:37:08 PM
Thermo Licensing System file
License Expires After6/19/2014 9:37:08 PM

你应该:

1)确保您的目录存在 - 使用实际存在的目录
2)确保您具有该文件夹的写入权限

答案 1 :(得分:3)

还要确保该文件夹存在。

除了上面的答案是好的

答案 2 :(得分:2)

如果您的程序失败,它应该抛出一个异常,这将有助于诊断问题。请在调试模式下运行程序以显示异常。

问题本身可能来自一个不存在的目录(如果你需要创建它,请在启动时调用“Directory.Create”)或缺少权限,请检查用户是否对文件夹具有“写入”权限。 / p>

该文件也可能被另一个进程锁定。

答案 3 :(得分:0)

//检查文件是否已存在。如果是,请删除它。

   if (File.Exists(fileName))
    {
           File.Delete(fileName);
    }

    File.Create("D:\\Yourfile.txt");

答案 4 :(得分:-2)

尝试更改    

StreamWriter sw = File.CreateText(fileName)


StreamWriter sw = new StreamWriter(fileName, true)


StreamReader sr = File.OpenText(fileName)


StreamReader sr = new StreamReader(fileName)