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

父目录:

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

子目录下的文件:


二、效果图


三、代码实现

 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. (转)神经网络和深度学习简史(第一部分):从感知机到BP算法

    深度|神经网络和深度学习简史(第一部分):从感知机到BP算法 2016-01-23 机器之心 来自Andrey Kurenkov 作者:Andrey Kurenkov 机器之心编译出品 参与:chen ...

  2. Python之paramiko基础

    一.Paramiko模块 paramiko是一个自由和开放源码模块使用,实现SSH2协议安全(认证和加密)连接到远程计算机. 二.windwos下安装paramiko模块 #在DOS命令行执行如下命令 ...

  3. Git学习:利用Git和TortoiseGit把代码传输到网络服务器

    版本控制这块,一直用SVN.感觉挺好用,比VSS要好用些.不过,近期在网上,又谈到时下很流行的Git.就想看看Git到底是何方神圣.趁着五一在家无事,就静下心来,简单研究一下. 当下,网络上提供的基于 ...

  4. jquery获得图片的真实大小

    $(function(){ var imgSrc = $("#image").attr("src"); getImageWidth(imgSrc,functio ...

  5. [Spring MVC] - InitBinder验证

    Spring MVC使用InitBinder验证: 使用InitBinder做验证的情况一般会在此Controller中提交的数据需要有一些是业务性质的,也即比较复杂的验证情况下才会使用.大部份简单的 ...

  6. [solr] - spell check

    solr提供了一个spell check,又叫suggestions,可以用于查询输入的自动完成功能auto-complete. 参考文献: https://cwiki.apache.org/conf ...

  7. innodb insert buffer 插入缓冲区的理解

    今天在做一个大业务的数据删除时,看到下面的性能曲线图 在删除动作开始之后,insert buffer 大小增加到140.对于这些状态参数的说明 InnoDB Insert Buffer 插入缓冲,并不 ...

  8. Junit4常用注解

    Junit4注解 JUnit4的测试类不用再继承TestCase类了.使用注解会方便很多. @Before:初始化方法@After:释放资源@Test:测试方法,在这里可以测试期望异常和超时时间@Ig ...

  9. Show "Appear Offline" in Lync

    在注册表中 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Communicator 创建DWORD,name是EnableAppearOffline,v ...

  10. spring数据源配置

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-// ...