一个看似简单的问题,结果却是相当困难。我想向上移动两个目录,然后向下移动以访问文件。这:
var currentDir = DirectoryInfo(Directory.GetCurrentDirectory())
给我当前目录。然后我可以这样做:
currentDir.Parent
这让我向上,但我现在得到了相对路径。我怎样才能避免它使用:
Path.Combine
或类似的东西然后下去?
因为currentDir
是一个DirectoryInfo
currentDir.Parent
给你的DirectoryInfo
父目录,包括完整路径和所有其他信息DirectoryInfo
。
你必须使用它的FullName
属性:
string fullPath = parent.FullName;
如果要查找文件:
FileInfo[] files = currentDir.Parent.Parent.GetFiles("FileName.txt", System.IO.SearchOption.TopDirectoryOnly);
像下面这样的东西会起作用。
DirectoryInfo currentDir = new DirectoryInfo(Directory.GetCurrentDirectory());
FileInfo myFile = new FileInfo(currentDir.Parent.Parent.FullName + "\\test\\myFile.txt");