【发布时间】:2012-03-28 09:28:45
【问题描述】:
我是 C# 和 VS 的新手,遇到了一个奇怪的问题。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ExampleApplication {
class Program {
static void Main(string[] args) {
FileInfo fi = new FileInfo("C:\\TEST.TXT");
fi.Create();
Console.WriteLine("File exists: {0}", fi.Exists);
}
}
}
这是我的程序,它创建一个文件 TEST.TXT。当我使用 Debug -> Start Debugging 命令 (F5) 在 VS 2010 中运行程序时,程序运行正常并创建了文件。
但是,如果我构建解决方案,然后使用 cmd 提示符从 .exe 运行程序:
C:\...\Visual Studio 2010\Projects\ExampleApplication\ExampleApplication\bin\Debug\ExampleApplication.exe
它运行输出:文件存在:true。但是没有创建文件。有人有什么想法吗?
谢谢
【问题讨论】:
-
可能是版权问题。尝试使用管理员权限运行您的 exe,看看是否可行。
-
你确定它不存在吗?
fi.Create()行显式创建文件。 -
该文件肯定不存在。当我从 VS 中运行它时,它创建得很好。我已经用管理员权限运行了.exe,仍然没有修复。我已经修改了程序以编写它现在打印的更多信息:
-
文件存在:True 文件名:C:\TEST.TXT 文件长度:0,但实际上并不存在。如果我尝试从记事本打开它,或者只是在资源管理器中查看它不存在。
-
在我的 PC (Win7x64 Net4) 上试用过,并且按预期工作!可能是权限问题。您是否尝试在根目录(记事本)中手动创建文件?
标签: c# .net windows visual-studio-2010 file-io