.Net Framework和.Net Core 如何读取本地文件
程序员文章站
2024-01-21 20:33:34
...
两种读取本地文件的区别
前言
最近学习.Net Core 发现读取本地配置文件 和之前的Framework的方式不一样了,所以发表一篇文章记录一下,百度有找一些资料 但是怎么说呢,好像都是各玩各的(手动笑哭),所以我弄清楚这两者的区别后,整理了一下 当成一篇文章,要是有什么说的不对的地方,欢迎大家留言评论,我好进行修改,咱们能不耽误别人就不要耽误别人了。
Framework中的使用
先展示代码:
/// <summary>
/// 获得当前绝对路径
/// </summary>
/// <param name="strPath">指定的路径</param>
/// <returns>绝对路径</returns>
public static string GetMapPath(string strPath)
{
//区分判断是否是网络路径
if (strPath.ToLower().StartsWith("http://")|| strPath.ToLower().StartsWith("https://"))
{
return strPath;
}
//web程序引用
if (HttpContext.Current != null)
{
//当前浏览器有连接状态,直接获取网站根目录
//很多朋友可能用的比较多的是Server.MapPath()这种方式
return HttpContext.Current.Server.MapPath(strPath);
}
else //非web程序引用
{
strPath = strPath.Replace("/", "\\");
if (strPath.StartsWith("\\"))
{
//注意路径格式一定要全部转换 例子:F:\\web\\root\\update 或者 F:\\web\\root\\update\\test.img这种格式
strPath = strPath.Substring(strPath.IndexOf('\\', 1)).TrimStart('\\');
}
return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, strPath);
}
}
上面的获取文件的绝对路径应该比较熟悉 ,用到多的地方的话就可以理解。
Core中的使用
/// <summary>
/// 获得当前绝对路径
/// </summary>
/// <param name="strPath">指定的路径</param>
/// <returns>绝对路径</returns>
public static string GetMapPath(string strPath)
{
strPath = strPath.Replace("/", "\\");
if (strPath.StartsWith("\\"))
{
//注意路径格式一定要全部转换 例子:F:\\web\\root\\update 或者 F:\\web\\root\\update\\test.img这种格式
strPath = strPath.Substring(strPath.IndexOf('\\', 1)).TrimStart('\\');
}
return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, strPath);
}
注意区分,在 .Net Core中是没有HttpContext.Current 这个概念了,Core的概念调整成了模块化处理了,需要什么的时候添加什么模块。
扩展(校验文件夹是否存在)
//这个是属于IO操作,倒是不区分Framework还是Core都是一样的
//需要引用 using System.IO;
//如果目录不存在则创建该目录
if (!IsExistDirectory(directoryPath))
{
Directory.CreateDirectory(directoryPath);
}
尾语
注意两种方式都有用到 System.IO.Path这个类处理,说明这个是底层,可以直接使用。
这样我们可以获取到对应的文件所在的绝对路径 之后,咱们可以自定义读取文件的内容信息。可以达到服务器上缓存一些配置,或者数据信息,调用的时候检查是否存在缓存,或者文件,减少数据库访问(手动机智)
上一篇: Java知识点梳理——集合
推荐阅读
-
.Net Framework和.Net Core 如何读取本地文件
-
asp.net core 2.0类库项目读取配置文件
-
ASP.NET CORE 读取配置文件 读取自定义配置文件
-
.NET Core在类库中读取配置文件appsettings.json
-
谈谈如何在ASP.NET CORE 中实现密码查看附件和附件上传
-
.NET Core如何在新的项目系统中(.csproj)发布可执行文件
-
jenkins 读取json文件_干货:.net core实现读取appsettings.json配置文件(建议收藏)...
-
.net core读取配置文件appsettings.json
-
.NET Core读取配置文件appsettings.json
-
.NET Core 读取appsettings.json配置文件