一、建立的文件夹(对这些文件进行以上四个类的操作):

父目录:

父目录的子目录以及父目录下的文件:

子目录下的文件:


二、效果图


三、代码实现

 using System;
using System.IO;
namespace testio
{
class Program
{ static void Main(string[] args)
{
//string Path = @"C:\Users\zhangtao\Desktop\Test";
string fileNAME = "tt" + ".txt";
string Path = @"C:\Users\zhangtao\Desktop\Test" + "\\" + fileNAME;
//0、File 类
Console.WriteLine("" + "、 " + "File 类");
string fileIO = File.ReadAllText(Path); //读取文件格式为".txt"的内容
Console.WriteLine(fileIO); //读取文件格式为".txt"的内容 //1、FileInfo 类
Console.WriteLine("" + "、 " + "FileInfo 类");
FileInfo fi = new FileInfo(Path);
Console.WriteLine(fi);
Console.WriteLine(fi.CreationTime.ToString()); //获取文件创建时间
Console.WriteLine(fi.Exists);
Console.WriteLine(fi.Extension);
Console.WriteLine(fi.Attributes);
Console.WriteLine(fi.Directory); //获取文件的目录
Console.WriteLine(fi.DirectoryName);
Console.WriteLine(fi.FullName);
int position = fi.Name.LastIndexOf(".");
string filename = fi.Name.Substring(, position); //获取文件创建时间
Console.WriteLine(filename); //2、Directory 类
Console.WriteLine("" + "、 " + "Directory 类");
var files = Directory.GetFiles(@"C:\Users\zhangtao\Desktop\Test", "*.txt"); //得到该目录下所有".txt"格式的文件
foreach (var file in files)
Console.WriteLine(file); //获取文件的路径以及名字
var files01 = Directory.GetCreationTime(@"C:\Users\zhangtao\Desktop\Test"); //获取目录创建时间
Console.WriteLine(files01); var files02 = Directory.GetDirectories(@"C:\Users\zhangtao\Desktop\Test"); //得到Test目录所包含的子目录
foreach (var files002 in files02)
Console.WriteLine(files002);
//3、DirectoryInfo 类
Console.WriteLine("" + "、 " + "DirectoryInfo 类");
DirectoryInfo folder = new DirectoryInfo(@"C:\Users\zhangtao\Desktop\Test");
Console.WriteLine(folder);
foreach (DirectoryInfo dd in folder.GetDirectories()) //获取子目录的名称
{
Console.WriteLine(dd);
}
foreach (FileInfo file in folder.GetFiles("*.txt"))
{
Console.WriteLine(file.Name); //获取该目录所包含文件的名字
Console.WriteLine(file.CreationTime); //获取文件创建时间
Console.WriteLine(file.FullName); //获取文件的路径以及名字
Console.WriteLine(file.Directory); //获取文件目录路径
Console.WriteLine(file.Extension); //获取文件格式 }
//Console.WriteLine(GetFoldAll(Path));
Console.ReadKey(); }
}
}

附:

如何获取指定目录包含的文件和子目录:

1. DirectoryInfo.GetFiles():获取目录中(不包含子目录)的文件,返回类型为FileInfo[],支持通配符查找;
    2. DirectoryInfo.GetDirectories():获取目录(不包含子目录)的子目录,返回类型为DirectoryInfo[],支持通配符查找;
    3. DirectoryInfo. GetFileSystemInfos():获取指定目录下(不包含子目录)的文件和子目录,返回类型为FileSystemInfo[],支持通配符查找;
如何获取指定文件的基本信息:

FileInfo.Exists:获取指定文件是否存在;
    FileInfo.Name,FileInfo.Extensioin:获取文件的名称和扩展名;
    FileInfo.FullName:获取文件的全限定名称(完整路径);
    FileInfo.Directory:获取文件所在目录,返回类型为DirectoryInfo;
    FileInfo.DirectoryName:获取文件所在目录的路径(完整路径);
    FileInfo.Length:获取文件的大小(字节数);
    FileInfo.IsReadOnly:获取文件是否只读;
    FileInfo.Attributes:获取或设置指定文件的属性,返回类型为FileAttributes枚举,可以是多个值的组合
    FileInfo.CreationTime、FileInfo.LastAccessTime、FileInfo.LastWriteTime:分别用于获取文件的创建时间、访问时间、修改时间;



【欢迎转载】

转载请表明出处: 乐学习

System.IO中的File、FileInfo、Directory与DirectoryInfo类(实例讲解)的更多相关文章

  1. CMake error:System Error:No such file or directory CMake error:Could not open file for write in copy operation xxxx.ros_Config.cmake.tmp.

    微型电脑或嵌入式与电脑还是有点不同的,在微型电脑上ros indigo 版本下利用catkin编译如果你遇到如下错误: CMake error:System Error:No such file or ...

  2. (转)使用 CJSON 在C语言中进行 JSON 的创建和解析的实例讲解

    使用 CJSON 在C语言中进行 JSON 的创建和解析的实例讲解   本文用代码简单介绍cjson的使用方法,1)创建json,从json中获取数据.2)创建json数组和解析json数组 1. 创 ...

  3. C# Directory和DirectoryInfo类(文件目录操作)

    对目录操作例子: using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...

  4. File,FileInfo,Directory,DirectoryInfo

    两者的共同点:  一:都用于典型的操作,如复制.移动.重命名.创建.打开.删除和追加到文件   二:默认情况下,将向所有用户授予对新文件的完全读/写访问权限.  两者的区别:   File类是静态类, ...

  5. Linux System Programming note 8 ——File and Directory Management

    1. The Stat Family #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> ...

  6. 使用 CJSON 在C语言中进行 JSON 的创建和解析的实例讲解

    本文用代码简单介绍cjson的使用方法,1)创建json,从json中获取数据.2)创建json数组和解析json数组 1. 创建json,从json中获取数据 #include <stdio. ...

  7. 关于android studio中使用class.forname()方法动态获取类实例报NO CLASS FOUND异常的几种处理方法

    最近在做一个项目的时候需要用到反射来回调子类的方法,但是在反射过程中总是在class.forname()方法抛出NO CLASS FOUND异常,经过几部检查,问题解决,在此总结一下引起该问题的原因 ...

  8. C#回顾 - 2.NET的IO:Path、File、FileInfo、Directory、DirectoryInfo、DriveInfo、FileSystemWatcher

        1.管理文件系统 一般而言,应用程序都会有保存数据.检索数据的需求. 1.1 使用 path 类来访问文件路径 [path常用的方法]:http://www.cnblogs.com/tangg ...

  9. move file create directory.

    If we want to move file to the directory that does not exist,and if we perform a File.Move,it will r ...

随机推荐

  1. Android学习七:new Date使用

    1.例子 学习时间函数,并实现了简单的多个按钮监听同一个事件的方法 2.代码 代码很简单,也很清晰 package com.example.datetime; import java.text.Sim ...

  2. windows 下部署kafka 日记 转

    windows 下部署kafka 日记 转一.下载去apache 的官网(http://kafka.apache.org/downloads.html)下载最新的二进制版的压缩包.目前的最新版本是ka ...

  3. VS2010环境下C++工程相关问题汇总

    1.链接其他库调试时产生告警: warning LNK4099: 未找到 PDB“vc100.pdb” 解决方案:属性 -> C/C++ -> 输出文件 -> 程序数据库文件名 -& ...

  4. IOS开发-第三方SDWebImage下载网络图片的使用

    从网络上请求图片时,没有使用第三方的话,下载会很慢,而且堵塞线程,还要自己处理多线程问题,效果还非常不明显,使用了SDWebImage这个第三方类库之后,下载图片就变的容易多了. SDWebImage ...

  5. datalist的用法

    DataList 提供相关的编辑模板,但和DataGrid不一样的是,DataList没有编辑按钮.要在DataList中使用编辑功能,可在项模板中增加一个按 钮,Linkbutton和Button都 ...

  6. 5、StringBuffer与StringBuilder的区别(十进制转二进制)

    1. 在执行速度方面的比较:StringBuilder > StringBuffer 2. StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们 ...

  7. SVD分解的理解[转载]

    http://www.bfcat.com/index.php/2012/03/svd-tutorial/ SVD分解(奇异值分解),本应是本科生就掌握的方法,然而却经常被忽视.实际上,SVD分解不但很 ...

  8. 【转】css学习专题-BFC

    css学习专题-BFC 转自:原文链接:css学习专题-BFC文章目录 BFC:Block Formatting Context. BFC就是一种布局方式,在这种布局方式下,盒子们自所在的 conta ...

  9. Redis应用场景

    Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作,为不同的大象构建不同的 ...

  10. ssh 协议执行repo sync 报错:Permission denied (publickey)

    1.ssh key 已经添加ssh key到gerrit服务器,并且执行ssh协议的git clone可以正常克隆代码到本地,可见不是ssh key的问题. 2.manifest清单文件配置 最初在m ...