[C#]关于路径的几则笔记

Unity和Windows的不二法门相反

在我往日的稿子中也关系了这些出入:Unity的AssetDatabase路径格式

差别化表现如下:

windows下文件路径分隔符: \

Unity中文件路径分隔符: /
(Unity中Application.datapath获取到的途径末尾不带有/)

获得文件的门径

比如说一个文书的门道为:e:\3d\client\trunk\Product\Apps\Windows\v0007_1452\qxz_x86_dev.exe

我们想要获取它的路子,可以透过以下模式:

使用Path

var filePath = @"e:\3d\client\trunk\Product\Apps\Windows\v0007_1452\qxz_x86_dev.exe"
var dir = Path.GetDirectoryName(filePath);
//输出dir =  e:\3d\client\trunk\Product\Apps\Windows\v0007_1452\

使用Directory

var filePath = @"e:\3d\client\trunk\Product\Apps\Windows\v0007_1452\qxz_x86_dev.exe"
var dir = new DirectoryInfo(filePath);
//输出dir =  e:\3d\client\trunk\Product\Apps\Windows\v0007_1452\qxz_x86_dev.exe

 

但同的主意对于一个门道,结果则这样子的

//本身这串字符串就是路径不是文件
var srcPath = @"E:\\3dsn\\client\\trunk\\Product\\Apps\\NewApps\\v0007_1568_Windows";

//输出:E:\3dsn\client\trunk\Product\Apps\NewApps
var dir1 = Path.GetDirectoryName(srcPath);

//输出:E:\3dsn\client\trunk\Product\Apps\NewApps\v0007_1568_Windows
var dir2 = new DirectoryInfo(srcPath);

 

测试环境

正文基于windows下的操作

windows 7 x64

unity 5.3.7p4

 

相关文章