c#如何确定文件的完整文件路径? [关闭]

问题描述 投票:-1回答:2

在我的代码中,当计算机完成任务时,我会使用计算机上的文件记录信息。为了对其进行读写,我已经在代码中写了完整的文件路径。现在可以,因为我一直在使用同一台计算机,但是如果我必须在另一台计算机上使用它或决定让其他人使用它,则会出现错误,并且必须重写很多行才能适应匹配新文件的位置。

有没有一种方法可以在程序启动时找到文件的存储位置,并在整个代码中将其用作变量?

c# filepath
2个回答
0
投票

您可以使用

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");

0
投票

您不想确定(确定)文件的路径。您想定义(声明)那些文件的路径。在您可能会从程序编写的所有文件中,日志文件是一堆特殊的文件:

  • 您不寻找它们,或让用户寻找它们。您确定它们应该在哪里,然后在此处创建它们。
  • 通常,您希望能够正常处理异常并继续。如果日志文件创建失败,则您甚至不应这样做。如果没有其他问题,只是为了避免不可调试的后续错误
  • 我的正常习惯是永远不要打开手柄。 “创建。使用。处理。全部都在同一段代码中,最好使用using块。”日志文件是例外。您不能冒险无法写信给他们,因为某些可避免的事情会干扰您。 GC和终结器将足够可靠地清理该句柄
  • 您应始终使用日志文件。不要尝试登录数据库。这只会增加其他可能出现的问题。

您不能将此类文件放入programm目录。写入权限限制将成为障碍。从正确的角度看待它们的最可靠方法是用户个人资料。如果用户无权访问自己的个人资料,那么您将无法修复某些问题。不要对路径进行硬编码,请使用specialfolders enumeration从Windows中检索该路径。

© www.soinside.com 2019 - 2024. All rights reserved.