加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读