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; 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\\";