C#:new file() - 根保存位置在哪里?

时间:2010-07-21 21:55:02

标签: c# file default location

如果我调用文件myFile = new File('myfile.txt');这会被保存到哪里?

3 个答案:

答案 0 :(得分:8)

它与进程的当前目录有关。这取决于你的应用程序是如何启动的,以及你做了什么 - 例如,选择文件对话框等一些东西可以改变当前的工作目录。

编辑:如果您正在使用临时文件,Path.GetTempFileName()可能就是您所追求的。您可以使用Path.GetTempPath()获取临时文件夹。

答案 1 :(得分:0)

那不会编译。

编辑:但是,如果您正在使用StreamWriter或File.Create(“text.txt”)等创建文本文件,那么我会按照上面的其他答案;它将运行应用程序的位置。请注意,正如其他人提到的那样,如果你正在调试它,它将在调试文件夹等中。

答案 2 :(得分:0)

通常它会被保存到运行可执行文件的同一目录中。我见过异常。 (我不记得具体细节,但是它让我陷入了一个循环。我似乎记得当它作为计划任务运行时,或者它是从快捷方式运行时。

如果您使用的是您提供的代码段,那么知道保存位置的唯一可靠方法是检查System.Environment.CurrentDirectory的值。更好的是,明确说明您希望它保存的路径。

修改 - 添加

我知道修改这个问题有点晚了,但我找到了一个更好的答案,确保你总是将文件保存到相对于可执行文件的正确位置。接受的答案值得投票,可能与你的问题有关。

见这里:Should I use AppDomain.CurrentDomain.BaseDirectory or System.Environment.CurrentDirectory?