我有一个.txt文件,我需要在我的程序中阅读。目前我的目录是硬编码的:
file = new StreamReader(@"C:\Users\<username>\Documents\File.txt");
然而,这显然不适用于任何其他无法访问更改代码的PC,或者(通过某些奇怪的偶然事件)与原始代码相同的目录。
如何使用C#获取在我的程序中设置它的完整文件路径?
答案 0 :(得分:2)
您可以在他们的Application Data目录中创建该文件(如果他们愿意,他们仍然可以找到它,但至少它不会像My Documents文件夹那样明显。)
如果要访问它,请使用Environment
类。有一些方法可以为当前用户定位特殊文件夹,而无需使用硬编码路径:
var filePath = Path.Combine(Environment.GetFolderPath(
Environment.SpecialFolder.ApplicationData), "File.txt");
答案 1 :(得分:1)
选项1 :
Application.StartupPath
可用于此目的。
它获取启动应用程序的可执行文件的路径,不包括可执行文件名。
将File.txt
与您的可执行文件保持一致。
选项2 :
使用Environment.SpecialFolder.ApplicationData
它提供的目录充当当前漫游用户的特定于应用程序的数据的公共存储库。
注意:如果要限制用户查看File.txt的内容,则可能需要加密内容。