我编写了以下程序来为特定目录创建 .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());
}
}
}
}
答案 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)