.NET(C#) File类的常用方法
发布时间:2021-05-21 06:57:59 所属栏目:大数据 来源: https://www.jb51.cc
导读:MSDN的File类 File类在MSDN:https://msdn.microsoft.com/zh-cn/library/system.io.file_methods(v=vs.110).aspx FileHelper.cs FileHelper提供的功能: 递归获取指定目录下所有的文件 获取指定目录下所有的子目录 using System; System.Collections.Generic
MSDN的File类File类在MSDN:https://msdn.microsoft.com/zh-cn/library/system.io.file_methods(v=vs.110).aspx FileHelper.csFileHelper提供的功能:
using System; System.Collections.Generic; System.IO; public class FileHelper { /// <summary> /// 递归获取所有的目录 </summary> <param name="strPath"></param> <param name="lstDirect"></param> static void GetAllDirectorys(string strPath,ref List<string> lstDirect) { if (Directory.Exists(strPath) == false) { Console.WriteLine("请检查,路径不存在:{0}",strPath); return; } DirectoryInfo diFliles = new DirectoryInfo(strPath); DirectoryInfo[] directories = diFliles.GetDirectories(); var max = directories.Length; for (int dirIdx = 0; dirIdx < max; dirIdx++) { try { var dir = directories[dirIdx]; //dir.FullName是某个子目录的绝对地址,把它记录起来 lstDirect.Add(dir.FullName); GetAllDirectorys(dir.FullName,ref lstDirect); } catchcontinue; } } } <summary> 遍历当前目录及子目录,获取所有文件 </summary> <param name="strPath">文件路径</param> <returns>所有文件</returns> static IList<FileInfo> GetAllFiles(string strPath) { List<FileInfo> lstFiles = new List<FileInfo>(); List<string> lstDirect = new List<(); lstDirect.Add(strPath); DirectoryInfo diFliles = null; GetAllDirectorys(strPath,1)"> lstDirect); lstDirect.Count; int idx = 0; idx < max; idx++ { diFliles = DirectoryInfo(lstDirect[idx]); lstFiles.AddRange(diFliles.GetFiles()); } ; } } lstFiles; } } File类实用方法获取父目录var currentDirectory = System.Environment.CurrentDirectory;当前程序的目录 var parentDirPath = .Empty; var parentDir = DirectoryInfo(currentDirectory).Parent; if (parentDir != ) { parentDirPath = parentDir.FullName; 上一级目录 } else { Console.WriteLine(ERROR:当前目录没有父级目录); }读取和修改文本内容读取所有内容 var fileContent = File.ReadAllText(versionFileName); 修改文本内容 File.WriteAllText(versionFileName,strNewVer);方法二 参考文档:https://msdn.microsoft.com/zh-cn/library/8bh11f1k.aspx using (var sw = new StreamWriter(FilePath)) { sw.Write(sb.ToString()); }
创建文本并写入内容using (StreamWriter streamWriter = File.CreateText(resFileName)) { var fileInfos = FileHelper.GetAllFiles(targetPath); var fileMax = fileInfos.Count; int fileIdx = 0; fileIdx < fileMax; fileIdx++) { var fileInfo = fileInfos[fileIdx]; if (fileInfo.Extension != .Metavar filePath = fileInfo.FullName.Replace(parentDirPath,""); filePath = filePath.Replace(@"",1)">/); var fileStr = string.Concat(filePath,1)">&if (fileLine < Int64.MaxValue) { fileLine += 1; } { overflowMsg = 文件行数太多啦,未统计。; } } } }@ 文件路径var filePath = @"d:Tools"; 等价于? var filePath = "d:Tools"; (编辑:北几岛) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |