.net core 填坑记之二目录问题(获取当前目录、创建目录)
1、获取应用程序运行当前目录Directory.GetCurrentDirectory()。
System.IO命名空间中存在Directory类,提供了获取应用程序运行当前目录的静态方法GetCurrentDirectory,
但根据.net core的设计,此方法不是真正的获取应用程序的当前方法,而是执行dotnet命令所在目录,
代码如下:
执行结果:
因此要获取应用程序运行当前目录,只能通过变通的方案解决。
如:1、在应用程序的目录执行dotnet命令,
2、或者通过其他方案。
如下代码是一种可以获取应用程序的当前目录:
dynamic type = (new Program()).GetType();
string currentDirectory = Path.GetDirectoryName(type.Assembly.Location);
Console.WriteLine(currentDirectory);
运行结果如下:
2、创建文件夹Directory.CreateDirectory(path)。
使用Directory.CreateDirectory(path)方法来创建文件夹时需要注意,在windos平台中,path结尾可以包含“\”字符,
但在linux中则会出问题,会将‘\’字符作为文件夹名称的一部分。
因此建议使用此方法时一定要严格控制路径的规范,不能随意添加“\”结尾。
本文发表于2017-06-18,欢迎各位大神参与讨论