在我的代码中,当计算机完成任务时,我会使用计算机上的文件记录信息。为了对其进行读写,我已经在代码中写了完整的文件路径。现在可以,因为我一直在使用同一台计算机,但是如果我必须在另一台计算机上使用它或决定让其他人使用它,则会出现错误,并且必须重写很多行才能适应匹配新文件的位置。
有没有一种方法可以在程序启动时找到文件的存储位置,并在整个代码中将其用作变量?
您可以使用
var fullpath = System.IO.Path.GetFullPath(file);
或者如果您想使用特殊文件夹,例如My Documents
var mydocs = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var filepath = System.IO.Path.Combine(mydocs, "filename.txt");
您不想确定(确定)文件的路径。您想定义(声明)那些文件的路径。在您可能会从程序编写的所有文件中,日志文件是一堆特殊的文件:
您不能将此类文件放入programm目录。写入权限限制将成为障碍。从正确的角度看待它们的最可靠方法是用户个人资料。如果用户无权访问自己的个人资料,那么您将无法修复某些问题。不要对路径进行硬编码,请使用specialfolders enumeration从Windows中检索该路径。