标签:writing virtual strong 引用 leo mode gif directory filesyste
1、File 类 --转自msdn
常用方法:
名称 |
说明 |
AppendAllLines(String,?IEnumerable)
|
向一个文件中追加行,然后关闭该文件。 如果指定文件不存在,
此方法会创建一个文件,向其中写入指定的行,然后关闭该文件。
|
AppendAllLines(String,?IEnumerable,?Encoding)
|
使用指定的编码向一个文件中追加行,然后关闭该文件。 如果指
定文件不存在,此方法会创建一个文件,向其中写入指定的行,然
后关闭该文件。
|
AppendAllText(String,?String)
|
打开一个文件,向其中追加指定的字符串,然后关闭该文件。
如果文件不存在,此方法将创建一个文件,将指定的字符串写
入文件,然后关闭该文件。
|
Create(String)
|
在指定路径中创建或覆盖文件。 |
Create(String,?Int32)
|
创建或覆盖指定的文件。(string path, int bufferSize) |
Exists(String)
|
确定指定的文件是否存在。bool |
Open(String,?FileMode)
|
以读/写访问权限打开指定路径上的 FileStream。 |
ReadAllLines(String) |
打开一个文本文件,读取文件的所有行,然后关闭该文件。 |
ReadAllText(String)
|
打开一个文本文件,读取文件的所有行,然后关闭该文件。 |
WriteAllText(String,?String)
|
创建一个新文件,向其中写入指定的字符串,然后关闭文件。
如果目标文件已存在,则覆盖该文件。
|
WriteAllLines(String,?IEnumerable)
|
创建一个新文件,向其中写入一个字符串集合,然后关闭该文件。 |
使用File类用于典型操作,如复制、移动、重命名、创建、打开、删除和一次将追加到单个文件。您(这个字保留,敬亲爱的读者)还可以使用File类用于获取和设置文件属性或DateTime与创建过程中,相关信息访问及文件的写入。如果您想要在多个文件上执行操作,请参阅Directory.GetFiles 或 DirectoryInfo.GetFiles。
2、FileInfo 类 --转自msdn
提供用于创建、复制、删除、移动和打开文件的属性和实例方法,并且帮助创建 FileStream 对象。 此类不能被继承。
名称 |
说明 |
FileInfo(String)
|
初始化作为文件路径的包装的 FileInfo 类的新实例。
|
属性
名称 |
说明 |
语法 |
CreationTime |
获取或设置当前文件或目录的创建时间。
(继承自 FileSystemInfo。)
|
|
Directory |
|
public DirectoryInfo Directory { get; } 表示此文件父目录的 DirectoryInfo 对象。
|
DirectoryName |
|
public string DirectoryName { get; } 表示目录的完整路径的字符串。
|
Exists |
获取指示文件是否存在的值。
(覆盖 FileSystemInfo.Exists。)
|
public override bool Exists { get; } 如果该文件存在,则为 true;如果文件不存在或 文件即是目录,则为 false。
|
Extension |
获取表示文件扩展名部分的字符串。
(继承自 FileSystemInfo。)
|
public string Extension { get; } 包含 FileSystemInfo 扩展名的字符串。Extension 属性将返回 FileSystemInfo 扩展,包括句点 (.)。 例如,对于文件 c:\NewFile.txt,此属性返回".txt"
|
FullName |
获取目录或文件的完整目录。
(继承自 FileSystemInfo。)
|
public virtual string FullName { get; } 包含完整目录的字符串。 例如,对于文件 c:\NewFile.txt, 此属性返回"c:\NewFile.txt"。
|
Name |
获取文件名。
(覆盖 FileSystemInfo.Name。)
|
|
常用方法:
名称 |
说明 |
AppendText()
|
创建一个 StreamWriter,它向 FileInfo 的此实例表示的文件追加文本。
|
CopyTo(String)
|
|
Create()
|
创建文件。 |
OpenText()
|
创建使用从现有文本文件中读取的 UTF8 编码的 StreamReader。 |
3、Directory 类 --转自msdn
公开用于通过目录和子目录进行创建、移动和枚举的静态方法。 无法继承此类。
常用方法
名称 |
说明 |
备注 |
CreateDirectory(String)
|
在指定路径中创建所有目录和子目录,除非它们已经存在。
|
|
CreateDirectory(String,?DirectorySecurity)
|
在指定路径中创建所有目录(除非已存在),并应用指定的 Windows 安全性。
|
|
Delete(String)
|
|
|
Delete(String,?Boolean)
|
删除指定的目录,并删除该目录中的所有子目录和文件(如果表示)。
|
|
Exists(String)
|
确定给定路径是否引用磁盘上的现有目录。 |
如果 path 指向现有目录,则为 true;
如果该目录不存在或者在尝试确定指定目
录是否存在时出错,则为 false。
|
GetCurrentDirectory()
|
获取应用程序的当前工作目录。 |
包含当前工作目录的路径且不以反斜杠 (\) 结尾的字符串。 |
4、DirectoryInfo 类 --转自msdn
属性
名称 |
说明 |
语法 |
Exists |
获取指示目录是否存在的值。(覆盖 FileSystemInfo.Exists。)
|
public override bool Exists { get; } 如果目录存在,则为 true;否则为 false。
|
Extension |
获取表示文件扩展名部分的字符串。(继承自 FileSystemInfo。)
|
|
FullName |
获取目录的完整路径。(覆盖 FileSystemInfo.FullName。)
|
|
Name |
获取此 DirectoryInfo 实例的名称。(覆盖 FileSystemInfo.Name。)
|
|
Parent |
获取指定的子目录的父目录。 |
|
Root |
获取目录的根部分。 |
|
方法
名称 |
说明 |
语法 |
Create()
|
|
|
Create(DirectorySecurity)
|
使用 DirectorySecurity 对象创建目录。
|
|
Delete()
|
如果此 DirectoryInfo 为空则将其删除。(覆盖 FileSystemInfo.Delete()。)
|
|
Delete(Boolean)
|
删除 DirectoryInfo 的此实例,指定是否删除子目录和文件。
|
|
GetFiles()
|
返回当前目录的文件列表。(FileInfo 类型的数组。) |
di.GetFiles()
|
GetFiles(String)
|
返回当前目录中与给定的搜索模式匹配的文件列表。(FileInfo 类型的数组。) |
di.GetFiles("*2*")
di.GetFiles("test?.txt")
|
综合应用的例子
1 class FileOperate
2 {
3 public static void Main()
4 {
5 try
6 {
7 FileOperate fo = new FileOperate();
8 string path = @"D:\MrSong1"; //正常路径
9 string illeglePath = @"D:\111>"; //含有非法字符
10 string overLengthPath = @""+fo.GetLongPath(); //路径超长
11
12 fo.DirectoryNomal(path); //正常
13 Console.WriteLine("创建路径:" + path);
14 Directory.CreateDirectory(path); //创建
15 fo.DirectoryNomal(path);
16 Console.WriteLine("删除路劲:" + path);
17 Directory.Delete(path); //删除
18 fo.DirectoryNomal(path);
19 DirectoryInfo dirInfo = new DirectoryInfo(path);
20 if (!dirInfo.Exists)
21 {
22 dirInfo.Create(); //创建路径
23 }
24 dirInfo.Delete();
25 fo.DirectoryNomal(illeglePath); //报“路径中存在非法字符异常”,下面的方法不执行
26 fo.DirectoryNomal(overLengthPath); //修改illegalPath为正确路径后,执行此方法,报”指定路径名过长“
27 }
28 catch (Exception ex)
29 {
30 Console.WriteLine(ex);
31 }
32 Console.ReadKey();
33 }
34
35 private void DirectoryNomal(string path)
36 {
37 if (Directory.Exists(path))
38 {
39 Console.WriteLine("Directory类方法判断:存在路径");
40 }
41 else
42 {
43 Console.WriteLine("Directory类方法判断:不存在" + path);
44 }
45 DirectoryInfo di = new DirectoryInfo(path);
46 if (di.Exists)
47 {
48 Console.WriteLine("DirectoryInfo属性判断:存在路径" + path);
49 }
50 else
51 {
52 Console.WriteLine("DirectoryInfo属性判断:不存在路径");
53 }
54 }
55
56 private string GetLongPath()
57 {
58 string path = "";
59 char[] Pattern = new char[] { ‘0‘, ‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘, ‘A‘, ‘B‘, ‘C‘, ‘D‘, ‘E‘, ‘F‘, ‘G‘, ‘H‘, ‘I‘, ‘J‘, ‘K‘, ‘L‘, ‘M‘, ‘N‘, ‘O‘, ‘P‘, ‘Q‘, ‘R‘, ‘S‘, ‘T‘, ‘U‘, ‘V‘, ‘W‘, ‘X‘, ‘Y‘, ‘Z‘ };
60 System.Random random = new Random(~unchecked((int)DateTime.Now.Ticks));
61 int i=0;
62 int n = Pattern.Length;
63
64 while (i 257)
65 {
66 int rnd = random.Next(0, n);
67 path += Pattern[rnd];
68 i++;
69 }
70 return path;
71 }
72 }
View Code
注意:
1、Exists是Directory类的方法,在DirectoryInfo中是属性。
2、DirectoryInfo类初始化(构造函数)中会报异常,有非法字符串,超长,path为null,调用方没有权限错误。
C# 操作文件类,文件夹存在判断,创建,文件内容读写。
标签:writing virtual strong 引用 leo mode gif directory filesyste
原文地址:https://www.cnblogs.com/meng9527/p/9036583.html