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;
using System.Collections.Generic;
using System.IO; public class FileHelper
{
/// <summary>
/// 递归获取所有的目录
/// </summary>
/// <param name="strPath"></param>
/// <param name="lstDirect"></param>
public 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 = ; dirIdx < max; dirIdx++)
{
try
{
var dir = directories[dirIdx];
//dir.FullName是某个子目录的绝对地址,把它记录起来
lstDirect.Add(dir.FullName);
GetAllDirectorys(dir.FullName, ref lstDirect);
}
catch
{
continue;
}
}
} /// <summary>
/// 遍历当前目录及子目录,获取所有文件
/// </summary>
/// <param name="strPath">文件路径</param>
/// <returns>所有文件</returns>
public static IList<FileInfo> GetAllFiles(string strPath)
{
List<FileInfo> lstFiles = new List<FileInfo>();
List<string> lstDirect = new List<string>();
lstDirect.Add(strPath);
DirectoryInfo diFliles = null;
GetAllDirectorys(strPath, ref lstDirect); var max = lstDirect.Count;
for (int idx = ; idx < max; idx++)
{
try
{
diFliles = new DirectoryInfo(lstDirect[idx]);
lstFiles.AddRange(diFliles.GetFiles());
}
catch
{
continue;
}
}
return lstFiles;
}
}

File类实用方法

获取父目录

var currentDirectory = System.Environment.CurrentDirectory;//当前程序的目录
var parentDirPath = string.Empty;
var parentDir = new DirectoryInfo(currentDirectory).Parent;
if (parentDir != null)
{
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;
for (int fileIdx = ; fileIdx < fileMax; fileIdx++)
{
var fileInfo = fileInfos[fileIdx];
if (fileInfo.Extension != ".meta")
{
var filePath = fileInfo.FullName.Replace(parentDirPath, "");
filePath = filePath.Replace(@"\", "/");
var fileStr = string.Concat(filePath, "&", HashHelper.GetSHA1(fileInfo.FullName));
streamWriter.WriteLine(fileStr);
Console.WriteLine(fileStr);
if (fileLine < Int64.MaxValue)
{
fileLine += ;
}
else
{
overflowMsg = "文件行数太多啦,未统计。";
}
}
}
}

@ 文件路径

var filePath = @"d:\Tools\"; 等价于  var filePath = "d:\\Tools\\";

.NET(C#) File类的常用方法的更多相关文章

  1. java中File类的常用方法总结

    java中File类的常用方法 创建: createNewFile()在指定的路径创建一个空文件,成功返回true,如果已经存在就不创建,然后返回false. mkdir() 在指定的位置创建一个此抽 ...

  2. Java分享笔记:File类中常用方法的介绍

    java.io包下的File类用于描述和创建一个文件或文件夹对象,只能对文件或文件夹做一些简单操作,不能修改文件的内容,功能比较有限.下面是对于File类中常用方法的程序演示. [1] 演示程序一 p ...

  3. File类的常用方法和练习

    File类常用的判断方法 import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; /** * Fi ...

  4. IO流3 --- File类的常用方法2 --- 技术搬运工(尚硅谷)

    File类的判断功能 @Test public void test5(){ File file = new File("hello.txt"); //判断是否是文件目录 Syste ...

  5. IO流2 --- File类的常用方法1 --- 技术搬运工(尚硅谷)

    File类的获取功能 @Test public void test2(){ File file1 = new File("hello.txt"); File file2 = new ...

  6. Day 13:File类的常用方法

    路径问题: 绝对路径: 该文件在硬盘上 的完整路径.绝对路径一般都是以盘符开头的. 相对路径:  相对路径就是资源文件相对于当前程序所在的路径.  . 当前路径   .. 上一级路径  注意: 如果程 ...

  7. java file类的常用方法和属性

    1 常用方法       a.createNewFile方法 public boolean createNewFile() throws IOException 该方法的作用是创建指定的文件.该方法只 ...

  8. File类的常用方法

    public static void GetFileInfo()    {                File file=new File("e:","two.txt ...

  9. File类之常用方法

    package IoDemo; import java.io.File; import java.io.IOException; /** * @Title:FileTest * @Descriptio ...

随机推荐

  1. java使用动态代理来实现AOP(日志记录)

    以下内容为原创,转载时请注明链接地址:http://www.cnblogs.com/tiantianbyconan/p/3336627.html AOP(面向方面)的思想,就是把项目共同的那部分功能分 ...

  2. 看代码学知识之(2) ListView无数据时显示其他View

    看代码学知识之(2) ListView无数据时显示其他View 今天看的一块布局是这样的: <!-- The frame layout is here since we will be show ...

  3. unbuntu apahce 2 设置 多域名

    1.找到apache2 的设置路径 默认的apache的路径为/etc/apache2/ 2. 修改httpd.conf 本文192.168.0.1 为自己的服务器的ip,下面一样的意思 Server ...

  4. 获取在线APP的素材图片

    1.打开iTunes,搜索并下载APP 2.打开下载的APP的路径 4.对ipa包进行解压 5.找到app,右键"显示包内容"进行查看 6.结果

  5. ‘Cordova/CDVPlugin.h’ file not found

    phonegap项目,平时真机调试没什么问题.然后想打包成ipa了,去Product --> Archive 一下,然后就报错了,说:‘Cordova/CDVPlugin.h’ file not ...

  6. 【网络编程】TCP/IP、UDP、网络概…

    计算机刚刚发明出来的时候,两台计算机之间是无法通信的,为了使计算机之间能够进行数据的交流,制定了OSI(Open SystemInterconnection)开放系统互联模型,而TCP/IP(我们所使 ...

  7. iOS学习路线

    这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选区.这个学习路线必须发布到首页候选 ...

  8. JS实现悬浮移动窗口(悬浮广告)的特效

    页面加载完成之后向页面插入窗口,之后向窗口插入关闭按钮,使用setInterval()函数触发moves()函数开始动画   js方法: 复制代码代码如下: <!DOCTYPE HTML PUB ...

  9. Oracle与MySQL的区别

    1. Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高. 2. Oracle支持大并发,大访 ...

  10. 基于ZooKeeper的Dubbo注册中心

    SOA服务治理 dubbo_zk 服务总线 感兴趣的M我微信:wonter 微信扫描,人人 CTO 大本营 基于SOA架构的TDD测试驱动开发模式 服务治理要先于SOA 简述我的SOA服务治理 从页面 ...