zoukankan      html  css  js  c++  java
  • C#:文本文件读写操作 FileHelper

     1     public class FileHelper
     2     {
     3         /// <summary>
     4         /// 获取指定路径下所有文件
     5         /// </summary>        
     6         public static List<string> GetFiles(string path)
     7         {            
     8             //using System.IO;
     9             if (!Directory.Exists(path))  //路径不存在
    10                 return null;           
    11             List<string> result = new List<string>();            
    12             DirectoryInfo dir = new DirectoryInfo(path);            
    13             DirectoryInfo[] subfolder = dir.GetDirectories();
    14             if (subfolder != null&&subfolder.Length>0)
    15             {
    16                 foreach(DirectoryInfo item in subfolder)
    17                 {                    
    18                     List<string> subFiles = GetFiles(item.FullName);  //FullName:完整路径
    19                     if (subFiles != null && subFiles.Count > 0)
    20                         result.AddRange(subFiles);
    21                 }
    22             }
    23             FileInfo[] files = dir.GetFiles();
    24             if(files!=null)
    25             {
    26                 foreach(FileInfo file in files)
    27                 {
    28                     result.Add(file.FullName);
    29                 }
    30             }
    31             return result;
    32         }
    33 
    34         /// <summary>
    35         /// 获取指定文件内容
    36         /// 注:这里适用于读取文本类型文件
    37         /// </summary>
    38         public static List<string> GetTxtFileContent(string fileName)
    39         {
    40             if (!File.Exists(fileName)) //文件不存在
    41                 return null;
    42             FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
    43             StreamReader reader = new StreamReader(fs, Encoding.Default);
    44             List<string> result = new List<string>();
    45             string line = "";
    46             while((line=reader.ReadLine())!=null)
    47             {
    48                 result.Add(line);
    49             }
    50             reader.Close();
    51             fs.Close();
    52             return result;            
    53         } 
    54 
    55         /// <summary>
    56         /// 删除指定文件
    57         /// </summary>        
    58         public static void DeleteFile(string fileName)
    59         {
    60             File.Delete(fileName);
    61         }
    62 
    63         /// <summary>
    64         /// 创建文件
    65         /// </summary>
    66         /// <param name="path">文件全路径</param>
    67         /// <param name="content">写入内容</param>
    68         public static void CreateFile(string fileName,List<string> content=null)
    69         {
    70             if(!File.Exists(fileName))
    71             {
    72                 FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write);
    73                 if (content != null && content.Count > 0)
    74                 {
    75                     StreamWriter sw = new StreamWriter(fs);
    76                     foreach (string line in content)
    77                     {
    78                         sw.WriteLine(line);
    79                     }
    80                     sw.Close();
    81                 }
    82                 fs.Close();
    83             }            
    84         }
    85         
    86     }
  • 相关阅读:
    数据库访问性能优化(转)
    Mysql分表和分区的区别、分库分表介绍与区别
    怎样玩转千万级别的数据(表分区)
    关于Blocking IO,non-Blokcing IO,async IO的区别和理解
    spring security四种实现方式
    使用百度网盘+Git,把版本控制托管到云端,附精彩评论
    Linux下C/C++帮助手册安装方法
    GNU自动化工具使用全过程详解,以及在线手册
    autotools工具使用 good
    使用 GNU Libtool 创建库
  • 原文地址:https://www.cnblogs.com/ecake/p/8205973.html
Copyright © 2011-2022 走看看