1. /// <summary>
  2. /// 获得当前绝对路径
  3. /// </summary>
  4. /// <param name="strPath">指定的路径</param>
  5. /// <returns>绝对路径</returns>
  6. public static string GetMapPath(string strPath)
  7. {
  8. if (strPath.ToLower().StartsWith("http://"))
  9. {
  10. return strPath;
  11. }
  12. if (HttpContext.Current != null)
  13. {
  14. return HttpContext.Current.Server.MapPath(strPath);
  15. }
  16. else //非web程序引用
  17. {
  18. strPath = strPath.Replace("/", "\\");
  19. if (strPath.StartsWith("\\"))
  20. {
  21. strPath = strPath.Substring(strPath.IndexOf()).TrimStart('\\');
  22. }
  23. return System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, strPath);
  24. }
  25. }
  1. /// <summary>
  2. /// 删除单个文件
  3. /// </summary>
  4. /// <param name="_filepath">文件相对路径</param>
  5. public static bool DeleteFile(string _filepath)
  6. {
  7. if (string.IsNullOrEmpty(_filepath))
  8. {
  9. return false;
  10. }
  11. string fullpath = GetMapPath(_filepath);
  12. if (File.Exists(fullpath))
  13. {
  14. File.Delete(fullpath);
  15. return true;
  16. }
  17. return false;
  18. }
  19.  
  20. /// <summary>
  21. /// 删除上传的文件(及缩略图)
  22. /// </summary>
  23. /// <param name="_filepath"></param>
  24. public static void DeleteUpFile(string _filepath)
  25. {
  26. if (string.IsNullOrEmpty(_filepath))
  27. {
  28. return;
  29. }
  30. string fullpath = GetMapPath(_filepath); //原图
  31. if (File.Exists(fullpath))
  32. {
  33. File.Delete(fullpath);
  34. }
  35. )
  36. {
  37. , _filepath.LastIndexOf();
  38. string fullTPATH = GetMapPath(thumbnailpath); //宿略图
  39. if (File.Exists(fullTPATH))
  40. {
  41. File.Delete(fullTPATH);
  42. }
  43. }
  44. }
  45.  
  46. /// <summary>
  47. /// 删除指定文件夹
  48. /// </summary>
  49. /// <param name="_dirpath">文件相对路径</param>
  50. public static bool DeleteDirectory(string _dirpath)
  51. {
  52. if (string.IsNullOrEmpty(_dirpath))
  53. {
  54. return false;
  55. }
  56. string fullpath = GetMapPath(_dirpath);
  57. if (Directory.Exists(fullpath))
  58. {
  59. Directory.Delete(fullpath, true);
  60. return true;
  61. }
  62. return false;
  63. }
  64.  
  65. /// <summary>
  66. /// 修改指定文件夹名称
  67. /// </summary>
  68. /// <param name="old_dirpath">旧相对路径</param>
  69. /// <param name="new_dirpath">新相对路径</param>
  70. /// <returns>bool</returns>
  71. public static bool MoveDirectory(string old_dirpath, string new_dirpath)
  72. {
  73. if (string.IsNullOrEmpty(old_dirpath))
  74. {
  75. return false;
  76. }
  77. string fulloldpath = GetMapPath(old_dirpath);
  78. string fullnewpath = GetMapPath(new_dirpath);
  79. if (Directory.Exists(fulloldpath))
  80. {
  81. Directory.Move(fulloldpath, fullnewpath);
  82. return true;
  83. }
  84. return false;
  85. }
  86.  
  87. /// <summary>
  88. /// 返回文件大小KB
  89. /// </summary>
  90. /// <param name="_filepath">文件相对路径</param>
  91. /// <returns>int</returns>
  92. public static int GetFileSize(string _filepath)
  93. {
  94. if (string.IsNullOrEmpty(_filepath))
  95. {
  96. ;
  97. }
  98. string fullpath = GetMapPath(_filepath);
  99. if (File.Exists(fullpath))
  100. {
  101. FileInfo fileInfo = new FileInfo(fullpath);
  102. ;
  103. }
  104. ;
  105. }
  106.  
  107. /// <summary>
  108. /// 返回文件扩展名,不含“.”
  109. /// </summary>
  110. /// <param name="_filepath">文件全名称</param>
  111. /// <returns>string</returns>
  112. public static string GetFileExt(string _filepath)
  113. {
  114. if (string.IsNullOrEmpty(_filepath))
  115. {
  116. return "";
  117. }
  118. )
  119. {
  120. ); //文件扩展名,不含“.”
  121. }
  122. return "";
  123. }
  124.  
  125. /// <summary>
  126. /// 返回文件名,不含路径
  127. /// </summary>
  128. /// <param name="_filepath">文件相对路径</param>
  129. /// <returns>string</returns>
  130. public static string GetFileName(string _filepath)
  131. {
  132. );
  133. }
  134.  
  135. /// <summary>
  136. /// 文件是否存在
  137. /// </summary>
  138. /// <param name="_filepath">文件相对路径</param>
  139. /// <returns>bool</returns>
  140. public static bool FileExists(string _filepath)
  141. {
  142. string fullpath = GetMapPath(_filepath);
  143. if (File.Exists(fullpath))
  144. {
  145. return true;
  146. }
  147. return false;
  148. }

c# 对文件操作的更多相关文章

  1. 【.NET深呼吸】Zip文件操作(1):创建和读取zip文档

    .net的IO操作支持对zip文件的创建.读写和更新.使用起来也比较简单,.net的一向作风,东西都准备好了,至于如何使用,请看着办. 要对zip文件进行操作,主要用到以下三个类: 1.ZipFile ...

  2. 野路子出身PowerShell 文件操作实用功能

    本文出处:http://www.cnblogs.com/wy123/p/6129498.html 因工作需要,处理一批文件,本想写C#来处理的,后来想想这个是PowerShell的天职,索性就网上各种 ...

  3. Node基础篇(文件操作)

    文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 ...

  4. 归档NSKeyedArchiver解归档NSKeyedUnarchiver与文件管理类NSFileManager (文件操作)

    ========================== 文件操作 ========================== 一.归档NSKeyedArchiver 1.第一种方式:存储一种数据. // 归档 ...

  5. SQL Server附加数据库报错:无法打开物理文件,操作系统错误5

    问题描述:      附加数据时,提示无法打开物理文件,操作系统错误5.如下图: 问题原因:可能是文件访问权限方面的问题. 解决方案:找到数据库的mdf和ldf文件,赋予权限即可.如下图: 找到mdf ...

  6. 通过cmd完成FTP上传文件操作

    一直使用 FileZilla 这个工具进行相关的 FTP 操作,而在某一次版本升级之后,发现不太好用了,连接老是掉,再后来完全连接不上去. 改用了一段时间的 Web 版的 FTP 工具,后来那个页面也 ...

  7. Linux文件操作的主要接口API及相关细节

    操作系统API: 1.API是一些函数,这些函数是由linux系统提供支持的,由应用层程序来使用,应用层程序通过调用API来调用操作系统中的各种功能,来干活 文件操作的一般步骤: 1.在linux系统 ...

  8. C语言的fopen函数(文件操作/读写)

    头文件:#include <stdio.h> fopen()是一个常用的函数,用来以指定的方式打开文件,其原型为:    FILE * fopen(const char * path, c ...

  9. Python的文件操作

    文件操作,顾名思义,就是对磁盘上已经存在的文件进行各种操作,文本文件就是读和写. 1. 文件的操作流程 (1)打开文件,得到文件句柄并赋值给一个变量 (2)通过句柄对文件进行操作 (3)关闭文件 现有 ...

  10. python 文件操作(转)

    python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目 ...

随机推荐

  1. shell脚本中跳转另一台主机执行命令 <<EOF

    ssh vmuser@ <<EOFmkdir /home/vmuser/xunjianrm /home/vmuser/xunjian/xj.logtouch /home/vmuser/xu ...

  2. Linux学习--- C语言关键字、数据类型

    关键字: sizeof为关键字,并不是函数. 作用:编译器给我们查看内存空间容量的一个工具. eg:int a: printf("the size is %d\n",sizeof ...

  3. js事件触发器 dispatchEvent()

    [其实就是自动触发事件,而非手动(交互)触发事件] dispatchEvent是作为高级浏览器(如chrome.Firfox等)的事件触发器来使用的,那么什么是事件触发器?就是触发事件的东西.可能有人 ...

  4. Beta冲刺 (7/7)

    Part.1 开篇 队名:彳艮彳亍团队 组长博客:戳我进入 作业博客:班级博客本次作业的链接 Part.2 成员汇报 组员1:(组长)柯奇豪 过去两天完成了哪些任务 部分代码的整合 编辑文章部分的完成 ...

  5. [.net core学习] .net core中的MD5CryptoServiceProvider取代方法

    使用:MD5 m5 = MD5.Create(); 参考:http://stackoverflow.com/questions/27216121/alternatives-of-md5cryptose ...

  6. Java基础--枚举

    1.枚举简介 枚举是由一组固定的常量组成的类型,自定义数据类型. 枚举的常量值一定是可列举的有限值.常量值的类型都是public static final. 下面代码中的Gender 是一种自定义的数 ...

  7. Tomcat 部署 Web 项目的本质理解

    手动创建Web项目 不借助集成开发工具IDE,直接手动创建一个Web项目,有助于理解Web项目的本质. 1.首先建立一个myweb文件夹(自己定义项目名). 2.然后可以建一个html文件(文件里面只 ...

  8. [Swift]LaunchScreen.storyboard如何跳转到到Main.storyboard

    在加载App时,首先读取[LaunchScreen.storyboard]中的内容, 在App加载到内存之后,自动读取[Main.storyboard]中的初始视图控制器, 用于替换原来的[Launc ...

  9. 周末,说声php的setter&getter(魔术)方法,你们辛苦了

    php 作为快速迭代项目的语言,其牛逼性质自不必多说.今天咱们要来说说php语言几个魔术方法,当然了,本文主要以setter&getter方法说明为主. 首先,咱们得知道什么叫魔术方法? 官方 ...

  10. linux 软件安装篇

    在linux下安装软件,不像windows一样,下一步下一步安装,但是也有很方便的方式.也有自定义的安装方式,总体来说,套路还不算太深,但是要实践才能出真知哦! linux版本有很多,但是大部分命令都 ...