【发布时间】:2010-07-21 21:55:01
【问题描述】:
如果我调用 File myFile = new File('myfile.txt');这个保存在哪里?
【问题讨论】:
-
感谢 Gavin,如何保存“临时”文件?
如果我调用 File myFile = new File('myfile.txt');这个保存在哪里?
【问题讨论】:
它相对于进程的当前目录。这将取决于您的应用程序是如何启动的,以及您还做了什么 - 例如,选择文件对话框之类的某些操作可能会更改当前工作目录。
编辑:如果您正在寻找一个临时文件,Path.GetTempFileName() 可能就是您想要的。您可以使用Path.GetTempPath() 获取临时文件夹。
【讨论】:
这不会编译。
编辑:但是,如果您在使用 StreamWriter 或 File.Create("text.txt") 等创建文本文件之后,那么我将遵循上面的其他答案;它将是应用程序运行的位置。请注意,正如其他人提到的,如果您正在调试,它将位于调试文件夹等中。
【讨论】:
通常它会保存到运行可执行文件的同一目录中。我见过异常。 (我不记得具体细节,但它让我陷入了一个循环。我似乎记得它是作为计划任务运行时,或者是从快捷方式运行时。
如果您使用您提供的代码 sn-p,唯一可靠的方法是检查 System.Environment.CurrentDirectory 的值。更好的是,明确说明您希望它保存的路径。
编辑 - 添加
我知道修改这个问题有点晚了,但我找到了一个更好的答案来确保您始终将文件保存到相对于可执行文件的正确位置。那里接受的答案值得投票,并且可能与您的问题相关。
请看这里:Should I use AppDomain.CurrentDomain.BaseDirectory or System.Environment.CurrentDirectory?
【讨论】: