如果我调用文件myFile = new File('myfile.txt');这会被保存到哪里?
答案 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?