MSDN的File类

File类在MSDN:https://msdn.microsoft.com/zh-cn/library/system.io.file_methods(v=vs.110).aspx

FileHelper.cs

FileHelper提供的功能:

  1. 递归获取指定目录下所有的文件
  2. 获取指定目录下所有的子目录
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4.  
  5. public class FileHelper
  6. {
  7. /// <summary>
  8. /// 递归获取所有的目录
  9. /// </summary>
  10. /// <param name="strPath"></param>
  11. /// <param name="lstDirect"></param>
  12. public static void GetAllDirectorys(string strPath, ref List<string> lstDirect)
  13. {
  14. if (Directory.Exists(strPath) == false)
  15. {
  16. Console.WriteLine("请检查,路径不存在:{0}",strPath);
  17. return;
  18. }
  19. DirectoryInfo diFliles = new DirectoryInfo(strPath);
  20. DirectoryInfo[] directories = diFliles.GetDirectories();
  21. var max = directories.Length;
  22. for (int dirIdx = ; dirIdx < max; dirIdx++)
  23. {
  24. try
  25. {
  26. var dir = directories[dirIdx];
  27. //dir.FullName是某个子目录的绝对地址,把它记录起来
  28. lstDirect.Add(dir.FullName);
  29. GetAllDirectorys(dir.FullName, ref lstDirect);
  30. }
  31. catch
  32. {
  33. continue;
  34. }
  35. }
  36. }
  37.  
  38. /// <summary>
  39. /// 遍历当前目录及子目录,获取所有文件
  40. /// </summary>
  41. /// <param name="strPath">文件路径</param>
  42. /// <returns>所有文件</returns>
  43. public static IList<FileInfo> GetAllFiles(string strPath)
  44. {
  45. List<FileInfo> lstFiles = new List<FileInfo>();
  46. List<string> lstDirect = new List<string>();
  47. lstDirect.Add(strPath);
  48. DirectoryInfo diFliles = null;
  49. GetAllDirectorys(strPath, ref lstDirect);
  50.  
  51. var max = lstDirect.Count;
  52. for (int idx = ; idx < max; idx++)
  53. {
  54. try
  55. {
  56. diFliles = new DirectoryInfo(lstDirect[idx]);
  57. lstFiles.AddRange(diFliles.GetFiles());
  58. }
  59. catch
  60. {
  61. continue;
  62. }
  63. }
  64. return lstFiles;
  65. }
  66. }

File类实用方法

获取父目录

  1. var currentDirectory = System.Environment.CurrentDirectory;//当前程序的目录
  2. var parentDirPath = string.Empty;
  3. var parentDir = new DirectoryInfo(currentDirectory).Parent;
  4. if (parentDir != null)
  5. {
  6. parentDirPath = parentDir.FullName; //上一级目录
  7. }
  8. else
  9. {
  10. Console.WriteLine("ERROR:当前目录没有父级目录");
  11. }

读取和修改文本内容

  1. //读取所有内容
  2. var fileContent = File.ReadAllText(versionFileName);
  3. //修改文本内容
  4. File.WriteAllText(versionFileName, strNewVer);

方法二

参考文档:https://msdn.microsoft.com/zh-cn/library/8bh11f1k.aspx

  1. using (var sw = new StreamWriter(FilePath))
  2. {
  3. sw.Write(sb.ToString());
  4. }

  

创建文本并写入内容

  1. using (StreamWriter streamWriter = File.CreateText(resFileName))
  2. {
  3. var fileInfos = FileHelper.GetAllFiles(targetPath);
  4. var fileMax = fileInfos.Count;
  5. for (int fileIdx = ; fileIdx < fileMax; fileIdx++)
  6. {
  7. var fileInfo = fileInfos[fileIdx];
  8. if (fileInfo.Extension != ".meta")
  9. {
  10. var filePath = fileInfo.FullName.Replace(parentDirPath, "");
  11. filePath = filePath.Replace(@"\", "/");
  12. var fileStr = string.Concat(filePath, "&", HashHelper.GetSHA1(fileInfo.FullName));
  13. streamWriter.WriteLine(fileStr);
  14. Console.WriteLine(fileStr);
  15. if (fileLine < Int64.MaxValue)
  16. {
  17. fileLine += ;
  18. }
  19. else
  20. {
  21. overflowMsg = "文件行数太多啦,未统计。";
  22. }
  23. }
  24. }
  25. }

@ 文件路径

var filePath = @"d:\Tools\"; 等价于  var filePath = "d:\\Tools\\";

.NET(C#) File类的常用方法的更多相关文章

  1. java中File类的常用方法总结

    java中File类的常用方法 创建: createNewFile()在指定的路径创建一个空文件,成功返回true,如果已经存在就不创建,然后返回false. mkdir() 在指定的位置创建一个此抽 ...

  2. Java分享笔记:File类中常用方法的介绍

    java.io包下的File类用于描述和创建一个文件或文件夹对象,只能对文件或文件夹做一些简单操作,不能修改文件的内容,功能比较有限.下面是对于File类中常用方法的程序演示. [1] 演示程序一 p ...

  3. File类的常用方法和练习

    File类常用的判断方法 import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; /** * Fi ...

  4. IO流3 --- File类的常用方法2 --- 技术搬运工(尚硅谷)

    File类的判断功能 @Test public void test5(){ File file = new File("hello.txt"); //判断是否是文件目录 Syste ...

  5. IO流2 --- File类的常用方法1 --- 技术搬运工(尚硅谷)

    File类的获取功能 @Test public void test2(){ File file1 = new File("hello.txt"); File file2 = new ...

  6. Day 13:File类的常用方法

    路径问题: 绝对路径: 该文件在硬盘上 的完整路径.绝对路径一般都是以盘符开头的. 相对路径:  相对路径就是资源文件相对于当前程序所在的路径.  . 当前路径   .. 上一级路径  注意: 如果程 ...

  7. java file类的常用方法和属性

    1 常用方法       a.createNewFile方法 public boolean createNewFile() throws IOException 该方法的作用是创建指定的文件.该方法只 ...

  8. File类的常用方法

    public static void GetFileInfo()    {                File file=new File("e:","two.txt ...

  9. File类之常用方法

    package IoDemo; import java.io.File; import java.io.IOException; /** * @Title:FileTest * @Descriptio ...

随机推荐

  1. pip安装教程

    首先你得安装了Python,这个网上教程大把. 关于pip的安装教程网上也很多,但是安装过程中遇到了很多问题. 我把安装pip需要的资源都放到云盘上了,直接下载就行,省得去找.(点我下载) 里面有两个 ...

  2. SAP用户权限解剖及自修改

    通常BASIS会使用PFCG做权限管理,时你保存时会产生一个系统外的profile name,记得SU01时用户有profile 和role两栏位吗?它们的关系如何呢? 首先明白几个概念.1.acti ...

  3. listview复用机制研究

    Listview在第一次的时候会先把屏幕上绘制的item都new出来,为了讲解方便我把new出来的item都用红色背景,复用的则用绿色背景. 可以看到这个list种有三种item.在第一次展示的时候, ...

  4. yii redies 不同的工程缓存key的问题

    参考这篇文章 基本配置操作: yii main.php中: return array( ... 'components'=>array( 'redis_cache' => array ( ...

  5. XListView

    第一步:到官网下载第三方包,拷贝到自己的项目中 https://github.com/Maxwin-z/XListView-Android 第二步:xml文件 <me.maxwin.view.X ...

  6. 【iOS】WebView加载HTML图片大小自适应与文章自动换行

    在很多App中都会使用到webview,尤其是在加载新闻内容等文章形式的数据时.因为图文混编以及不同字体格式的显示,在iOS进行编辑 和显示都是一大问题(当然,iOS中也可以用CoreText进行绘制 ...

  7. self&super

    http://chun.tips self是类的隐藏参数,指向当前调用方法的这个类的实例.super是一个编译器标识符,和self指向同一个消息接受者.所以不管调用[self class]还是[sup ...

  8. iOS开发之百度地图的集成——地图标注&POI检索

    本篇分为两部分: 一.地图标注 第一步:首先创建 BMKMapView 视图 第二步:在视图完全显示出来后设置,并实现代理方法 第三步:运行程序,此时大头针效果可以正常显示 二.POI检索 第一步:延 ...

  9. NSString 字符串替换

    NSString * oneScale=@"@ddd"; NSLog(@"%@",[oneScale stringByReplacingOccurrencesO ...

  10. 使用windows服务更新站点地图

    由于公司平台访问人数逐渐增多,公司项目的数据库已经几次出现宕机现象.为减轻数据库压力,我上个月对公司项目做了下调整.把新闻板块提取出来单独一个站点,单独一个数据库.减少了主站点和数据库的负担和压力. ...