文件路径拼接失败求助:如何正确定位目标文件目录?
解决路径找不到的问题
问题出在
Path.Combine的使用上:你传入的第二个参数"\\files\\file.csv"以反斜杠开头,Windows系统下Path.Combine会直接忽略前面的dirLoc路径,返回根目录下的\files\file.csv,这和你实际文件所在的debug子目录完全不符,自然找不到文件。修正代码的核心是去掉路径段开头的反斜杠,让
Path.Combine正确拼接路径,推荐用多参数写法(更规范,自动适配系统路径分隔符):
var dirLoc = Path.GetDirectoryName(Assembly.GetEntryAssembly()!.Location); var path = Path.Combine(dirLoc!, "files", "file.csv");
也可以写成单个相对路径段(不要加开头反斜杠):
var path = Path.Combine(dirLoc!, "files\\file.csv");
- 你可以打印
path的值验证,正确的路径应该是类似C:\你的项目路径\bin\debug\net8.0\files\file.csv的完整路径,而不是根目录开头的路径。
内容的提问来源于stack exchange,提问作者He-Man
相关产品推荐
相关产品推荐

