C# - 文件操作类
除了封装数据流的类 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#] 常用工具类——文件操作类
/// <para> FilesUpload:工具方法:ASP.NET上传文件的方法</para> /// <para> FileExists:返回文件是否存在&l ...
- 文件操作类CFile
CFile file; CString str1= L"写入文件成功!"; wchar_t *str2; if (!file.Open(L"Hello.txt" ...
- asp.net文件操作类
/** 文件操作类 **/ #region 引用命名空间 using System; using System.Collections.Generic; using System.Text; usin ...
- android 文件操作类简易总结
android 文件操作类(参考链接) http://www.cnblogs.com/menlsh/archive/2013/04/02/2997084.html package com.androi ...
- Ini文件操作类
/// <summary> /// Ini文件操作类 /// </summary> public class Ini { // 声明INI文件的写操作函数 WritePriva ...
- java csv 文件 操作类
一个CSV文件操作类,功能比较齐全: package tool; import java.io.BufferedReader; import java.io.BufferedWriter; impor ...
- Qt5:Qt文件操作类 QFile
在QT中,操作文件一般不使用C++提供的文件操作类 , 因为操作文件的时候,要用到C++提供的 string 类,而在QT中使用的是Qt自己实现的一个string类 QString .在Qt中使用C+ ...
- C# 文件操作类大全
C# 文件操作类大全 时间:2015-01-31 16:04:20 阅读:1724 评论:0 收藏:0 [点我收藏+] 标签: 1.创建文件夹 //usin ...
- Java文件操作类效率对比
前言 众所周知,Java中有多种针对文件的操作类,以面向字节流和字符流可分为两大类,这里以写入为例: 面向字节流的:FileOutputStream 和 BufferedOutputStream 面向 ...
- JAVA文件操作类和文件夹的操作代码示例
JAVA文件操作类和文件夹的操作代码实例,包括读取文本文件内容, 新建目录,多级目录创建,新建文件,有编码方式的文件创建, 删除文件,删除文件夹,删除指定文件夹下所有文件, 复制单个文件,复制整个文件 ...
随机推荐
- 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 ...
- BZOJ_1601_[Usaco2008_Oct]_灌水_(最小生成树_Kruskal)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1601 有\(n\)个田地需要灌溉,每个田地可以自己引水,花费为\(w[i]\),或者连接其他被 ...
- iOS上百度输入法引起的问题
/* UIKeyboardWillShowNotification 通知下的数据 百度 { UIKeyboardAnimationCurveU ...
- geoserver扫盲 openlayers相关
转自:http://www.cnblogs.com/lzlynn/archive/2008/07/29/1255702.html WMS: Web Map Service(Web地图服务 ) l 利 ...
- [King.yue]关于CSLA框架的一些看法
CSLA.Net 是一个有帮助的成熟开发框架,但不适于初学者.该框架支持在任何地方.任何时间创建对象,值得我们花时间去学习了解这一框架.CSLA.Net 框架设计的业务对象,支持对完全透明的数据源进行 ...
- 安装Python及工具
在Windows上安装Python 第一步:下载安装包 根据Windows版本(64或32)从Python官方网站下载对应的Python版本,此次使用python V3.5. 下载路径:https:/ ...
- Java笔记(三)……基础语法
关键字 标识符 在程序中自定义的一些名称 由26个英文字母大小写,数字:0-9,符号:_ $组成 定义合法标识符规则: 数字不可以开头. 不可以使用关键字. Java中严格区分大小写. 注意:在起名字 ...
- oracle 高水位线
一.oracle 高水位线详解 一.什么是水线(High Water Mark)? 概念: 1.块: 是粒度最小的存储单位,现在标准的块大小是8K,ORACLE每一次I/O操作也是按块来操作的,也就是 ...
- HDU 1166 敌兵布阵 线段树区间求和 更改
水 #include<iostream> #include<string> #include<algorithm> #include<cstdlib> ...
- Azure 虚拟机常见问题-下
虚拟机上的默认用户名和密码是什么? Azure 提供的映像没有预先配置用户名和密码.使用这些映像中的其中一个创建虚拟机时,你需要提供用户名和密码,用于登录到虚拟机. 提示 如果忘记了用户名或密码且安装 ...