除了封装数据流的类 System.IO命名空间中还提供了可以操作文件和目录的类

Directory类

ns:System.IO

Level:Object=>Directory

表示目录的类 用于创建、移动、拷贝目录等操作

Directory类的静态方法

CreateDirectory方法

根据参数指定的路径创建对应的目录 所有不存在的目录都会被创建

Delete方法

删除参数指定的目录 如果该目录下不为空(有后代目录或文件)则会抛出异常 解决办法是提供参数2 指定是否删除它和它所包含的所有后代目录

Exists方法

目录是否存在

GetCreationTime方法

获取目录创建时间

GetCurrentDirectory方法

获取当前正在执行的应用程序所在的目录

GetDirectories方法

获取指定目录的所有子目录路径的字符表示 返回一个字符串数组 参数2可以提供搜索条件 如A* 则在当前目录下查找其子目录以A开头的名称的任意目录

GetFiles方法

获取指定目录中的文件的路径的字符表示 返回一个字符串数组 参数2可以提供搜索条件 如A* 则在当前目录下查找包含的文件以A开头的名称的任意文件

GetFileSystemEntries方法

GetDirectories和GetFiles方法的结合体 可同时获取到指定目录的子目录的路径的字符表示和指定目录的文件路径的字符表示

GetLastAccessTime方法

获取目录最近一次被访问的时间

GetLastWriteTime方法

获取目录最近一次被修改的时间

GetLogicalDrives方法

获取计算机所有逻辑驱动器的名称 返回一个字符串数组

GetParent方法

获取指定目录的父目录 返回一个DirectoryInfo对象表示父目录

GetDirectoryRoot方法

获取指定目录的完全限定名的路径

Move方法

将参数1指定的目录移动到参数2指定的地址上 如果参数2地址上已存在相同名称的目录则会抛出异常

SetCreationTime方法

设置目录的创建时间

SetCurrentDirectory方法

将当前正在执行的应用程序的工作目录设置为参数指定的目录

SetLastAccessTime方法

设置目录最近一次被访问的时间

SetLastWriteTime方法

设置目录最近一次被修改的时间

ToString方法

返回目录路径的字符表示

File类

ns:System.IO

Level:Object=>File

表示文件的类 用于创建、移动、拷贝文件等操作

File类的静态方法

Copy方法

将参数1指定的文件拷贝到参数2指定的路径中 如果参数2的地址存在相同名称的文件则会抛出异常 可以通过参数3指定是否覆盖目标路径上存在的相同名称的文件

Create方法

创建文件 如果参数指定的地址已经存在同名文件则会自动覆盖 返回一个FileStream对象

CreateText方法

创建并打开文件

Delete方法

删除文件

GetAttributes方法

获取文件的属性信息 返回一个FileAttributes集合对象

GetCreationTime方法

获取文件创建时间

GetLastAccessTime方法

获取文件最近一次被访问的时间

GetLastWriteTime方法

获取文件最近一次被修改的时间

Move方法

将文件移动到参数2指定的路径上 如果文件存在 将抛出异常

 File.Move(@"D:\学校\新建文本文档.txt", @"D:\新建文本文档.txt");

AppendText方法

返回一个StreamWriter实例 用于向文件写入数据 如果文件不存在则会自动创建该文件并自动将文件关联到返回的StreamWriter上

Open方法

打开已经存在的文件 返回一个FileStream对象 如果文件不存在则会抛出异常 此方法具有多个重载版本 它的参数如下

path:文件路径

mode:一个FileMode的枚举值 指定了操作系统应该如何打开一个文件的方式

access:一个FileAccess的枚举值 指定了文件的属性 此枚举可以与按位运算符一起使用 以表明文件的多个属性

share:一个FileShare的枚举值 指定了多个进程之间是否能同时访问或共享同一文件

OpenRead方法

打开文件 以便进行读操作 返回一个FileStream对象

OpenText方法

打开以UTF-8编码的文件 以便进行读取 返回一个StreamReader对象

OpenWrite方法

打开文件 以便进行写操作 返回一个FileStream对象

ReadAllText方法

读取文件所有数据

ReadAllBytes方法

按字节读取文件所有数据

Write方法

写数据到文件

WriteAllLine

写入一行数据到文件

SetAttributes方法

设置文件的属性 通过参数2的FileAttributes枚举来指定文件属性

SetCreationTime方法

设置文件的创建时间

SetLastAccessTime方法

设置文件最近一次被访问的时间

SetLastWriteTime方法

设置文件最近一次被修改的时间

ToString方法

返回文件路径的字符表示

FileSystemInfo类

ns:System.IO

Level:Object=>MarshalByRefObject=>FileSystemInfo

此类是表示目录的类DirectoryInfo和表示文件的类FileInfo的基类 它提供了其派生类通用的一些字段、属性和方法

FileSystemInfo类的属性

Attributes属性

获取或设置与目录或文件相关的属性 返回一个FileAttributes对象

CreationTime属性

获取或设置创建目录或文件的时间

Exists属性

目录或文件是否存在

Extension属性

获取文件扩展名

FullName属性

获取目录或文件的完全路径

LastAccessTime属性

获取目录或文件最近一次被访问的时间

LastWriteTime属性

获取或设置目录或文件最近一次被修改的时间

Name属性

获取目录或文件的名称 不包含路径

FileSystemInfo类的方法

Delete方法

删除目录或删除文件

Refresh方法

刷新目录或文件 以确保对目录或文件进行操作时得到的目录或文件的状态是最新的

ToString方法

返回目录或文件路径的字符表示

DirectoryInfo类

ns:System.IO

Level:Object=>MarshalByRefObject=>FileSystemInfo=>DirectoryInfo

DirectoryInfo类似Directory FileInfo类似File 后者只提供静态方法来操作目录或文件 问前者需要实例化对象 何时使用DirectoryInfo和Directory取决于是否重复或多次用到该目录或文件 如果仅仅只有很少的操作 使用Directory和File类即可 反之需要使用DirectoryInfo和FileInfo的实例来操作目录和文件

DirectoryInfo类的属性

Parent属性

获取当前目录的父目录 如果父目录不存在 则返回null

Root属性

获取当前目录的根 如返回 D:\

DirectoryInfo类的方法

Create方法

根据当前目录的路径在磁盘上实际创建它

CreateSubdirectory方法

在当前目录下创建参数指定的子目录

GetDirectories方法

获取当前目录下的子目录 返回一个DirectoryInfo数组 可以提供参数2指定查找模式 如A* 表示只查找名称以A开头的任意名称的子目录

GetFiles方法

获取当前目录下的文件 返回一个FileInfo数组 可以提供参数2指定查找模式 如*.txt 表示只查找以.txt结尾的任意名称的文件

GetFileSystemInfos方法

GetDirectories和GetFiles方法的结合体 获取当前目录的所有子目录和所有文件 可以提供参数2指定查找模式 返回一个FileSystemInfo数组

MoveTo方法

将当前目录移动到参数指定的地址上 如果地址上存在相同名称的目录将抛出异常

 DirectoryInfo folder = new DirectoryInfo(@"C:\test");
 FileAttributes attr= folder.Attributes;
 if ((attr & FileAttributes.Hidden) == FileAttributes.Hidden)
 {
     Response.Write("该文件为隐藏文件");
 }

FileAttributes可能的枚举值很多 可以测试是否是只读、隐藏等等 更多请查询MSDN

FileInfo类

ns:System.IO

Level:Object=>MarshalByRefObject=>FileSystemInfo=>FileInfo

FileInfo类的属性

Directory属性

获取当前文件所在的目录 返回一个DirectoryInfo实例

DirectoryName属性

获取当前文件所在的目录的名称

Length

获取文件大小 大小以字节为单位

Name

获取文件的名称

FileInfo类的方法

AppendText方法

返回一个SreamWriter对象 用于向当前文件写入数据

CopyTo方法

将当前文件复制到参数指定的路径地址中 如果参数地址中存在相同名称的文件则会抛出异常 可以通过参数2指定是否覆盖目标路径上存在的相同名称的文件

Create方法

在磁盘上实际创建当前文件 返回一个FileStream对象 以便对文件进行读写操作

CreateText方法

创建用于对当前文件进行写操作的StreamWriter对象

MoveTo方法

将当前文件移动到参数指定的路径

Open方法

打开已经存在的文件 返回一个FileStream对象 如果文件不存在则会抛出异常 此方法具有多个重载版本 它的参数如下

path:文件路径

mode:一个FileMode的枚举值 指定了操作系统应该如何打开一个文件的方式

access:一个FileAccess的枚举值 指定了文件的属性 此枚举可以与按位运算符一起使用 以表明文件的多个属性

share:一个FileShare的枚举值 指定了多个进程之间是否能同时访问或共享同一文件

OpenRead方法

打开文件 以便进行读操作 返回一个FileStream对象

OpenText方法

打开文件 以便进行读取 返回一个以UTF-8编码的StreamReader对象

OpenWrite方法

打开文件 以便进行写操作 返回一个FileStream对象

Path类

ns:System.IO

Level:Object=>Path

表示路径的类

Path类的静态方法

GetExtension方法

获取文件后缀名

ChangeExtension方法

更改文件后缀名

Combine方法

更改目录路径和文件名组合为一个文件路径 如

 Path.Combine(@"C:", "1.jpg"); //return "C:\1.jpg"

GetDirectoryName方法

获取文件的目录路径 不包括文件名和后缀名

GetFileNameWithoutExtension方法

获取文件名 不包括后缀名和路径

GetFileName方法

获取文件名 包括后缀名 不包括路径

GetFullPath方法

获取文件全路径

下面是一个简单的例子 在WinForm程序中获取与程序集在同一目录的文本文件

 //获取当前运行的程序集所在路径
 string AssemlyPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
 //截取目录部分
 string directoryPath = Path.GetDirectoryName(AssemlyPath);
 //获取跟程序集在同一目录的文本文件
 string filePath = Path.Combine(directoryPath, "1.txt");
 //打开文件
 File.Open(filePath,FileMode.Open);
 //读取该文件略……

C# - 学习总目录

C# - 文件操作类的更多相关文章

  1. [C#] 常用工具类——文件操作类

    /// <para> FilesUpload:工具方法:ASP.NET上传文件的方法</para> /// <para> FileExists:返回文件是否存在&l ...

  2. 文件操作类CFile

    CFile file; CString str1= L"写入文件成功!"; wchar_t *str2; if (!file.Open(L"Hello.txt" ...

  3. asp.net文件操作类

    /** 文件操作类 **/ #region 引用命名空间 using System; using System.Collections.Generic; using System.Text; usin ...

  4. android 文件操作类简易总结

    android 文件操作类(参考链接) http://www.cnblogs.com/menlsh/archive/2013/04/02/2997084.html package com.androi ...

  5. Ini文件操作类

    /// <summary> /// Ini文件操作类 /// </summary> public class Ini { // 声明INI文件的写操作函数 WritePriva ...

  6. java csv 文件 操作类

    一个CSV文件操作类,功能比较齐全: package tool; import java.io.BufferedReader; import java.io.BufferedWriter; impor ...

  7. Qt5:Qt文件操作类 QFile

    在QT中,操作文件一般不使用C++提供的文件操作类 , 因为操作文件的时候,要用到C++提供的 string 类,而在QT中使用的是Qt自己实现的一个string类 QString .在Qt中使用C+ ...

  8. C# 文件操作类大全

      C# 文件操作类大全 时间:2015-01-31 16:04:20      阅读:1724      评论:0      收藏:0      [点我收藏+] 标签: 1.创建文件夹 //usin ...

  9. Java文件操作类效率对比

    前言 众所周知,Java中有多种针对文件的操作类,以面向字节流和字符流可分为两大类,这里以写入为例: 面向字节流的:FileOutputStream 和 BufferedOutputStream 面向 ...

  10. JAVA文件操作类和文件夹的操作代码示例

    JAVA文件操作类和文件夹的操作代码实例,包括读取文本文件内容, 新建目录,多级目录创建,新建文件,有编码方式的文件创建, 删除文件,删除文件夹,删除指定文件夹下所有文件, 复制单个文件,复制整个文件 ...

随机推荐

  1. Excel Cannot Connect to SharePoint List

    As I am working in SharePoint support, I come across so many issues on day 2 day basis and always tr ...

  2. BZOJ_1601_[Usaco2008_Oct]_灌水_(最小生成树_Kruskal)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1601 有\(n\)个田地需要灌溉,每个田地可以自己引水,花费为\(w[i]\),或者连接其他被 ...

  3. iOS上百度输入法引起的问题

     /*      UIKeyboardWillShowNotification 通知下的数据            百度     {         UIKeyboardAnimationCurveU ...

  4. geoserver扫盲 openlayers相关

    转自:http://www.cnblogs.com/lzlynn/archive/2008/07/29/1255702.html WMS: Web Map Service(Web地图服务 ) l  利 ...

  5. [King.yue]关于CSLA框架的一些看法

    CSLA.Net 是一个有帮助的成熟开发框架,但不适于初学者.该框架支持在任何地方.任何时间创建对象,值得我们花时间去学习了解这一框架.CSLA.Net 框架设计的业务对象,支持对完全透明的数据源进行 ...

  6. 安装Python及工具

    在Windows上安装Python 第一步:下载安装包 根据Windows版本(64或32)从Python官方网站下载对应的Python版本,此次使用python V3.5. 下载路径:https:/ ...

  7. Java笔记(三)……基础语法

    关键字 标识符 在程序中自定义的一些名称 由26个英文字母大小写,数字:0-9,符号:_ $组成 定义合法标识符规则: 数字不可以开头. 不可以使用关键字. Java中严格区分大小写. 注意:在起名字 ...

  8. oracle 高水位线

    一.oracle 高水位线详解 一.什么是水线(High Water Mark)? 概念: 1.块: 是粒度最小的存储单位,现在标准的块大小是8K,ORACLE每一次I/O操作也是按块来操作的,也就是 ...

  9. HDU 1166 敌兵布阵 线段树区间求和 更改

    水 #include<iostream> #include<string> #include<algorithm> #include<cstdlib> ...

  10. Azure 虚拟机常见问题-下

    虚拟机上的默认用户名和密码是什么? Azure 提供的映像没有预先配置用户名和密码.使用这些映像中的其中一个创建虚拟机时,你需要提供用户名和密码,用于登录到虚拟机. 提示 如果忘记了用户名或密码且安装 ...