.NET(C#) File类的常用方法

前端之家收集整理的这篇文章主要介绍了.NET(C#) File类的常用方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

MSDN的File类

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

FileHelper.cs

FileHelper提供的功能

  1. 递归获取指定目录下所有的文件
  2. 获取指定目录下所有的子目录
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\\";

猜你在找的C#相关文章