码迷,mamicode.com
首页 > 其他好文 > 详细

Path类与Directory类与File类

时间:2016-07-14 02:31:53      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:

阅读目录

Path 对路径 字符串进行操作

获得后缀

能合并路径

获取文件名

Directory和DirectoryInfo  对目录进行操作

判断目录是否存在

创建目录

删除目录

获取目录下所有的子目录

获取目录下所有的子文件

File和FileInfo  对文件进行操作

读文件

写文件

追加文件

判断文件是否存在

创建文件

删除文件

1、Path类

 1 using System;
 2 using System.IO;//目录和文件操作的名称空间
 3 namespace _11_Path类 {
 4     class Program {
 5         static void Main(string[] args) {
 6             string path = "c:\\abc\\1.txt" ;
 7             //注意这里是对路径字符串的操作  而不是真正的文件 “修改”支持字符串层面的,没有真的给文件改名
 8             path = Path.ChangeExtension(path, "avi" );//ChangeExtension()修改文件后缀名1.avi   c:\\abc\\1.avi
 9             //将两个路径合成一个路径,比用+好,可以方便解决是不是加斜线的问题,自动处理路径分隔符的问题
10             path = Path.Combine("c:\\abc\\def\\" , "1.jpg"); //c:\abc\def\1.jpg
11             //得到文件所在文件夹的位置 同样是从字符串的角度去处理
12             path = Path.GetDirectoryName(path);//c:\abc
13             path = Path.GetExtension(path);//扩展名 .txt
14             path = Path.GetFileName(path);//文件名.后缀名 1.txt
15             path = Path.GetFileNameWithoutExtension(path);//不含后缀的文件名 1
16             path = Path.GetFullPath("11-Path类.exe" );//文件全路径(相对文件的全路径 一般也不用此方法) F:\PIZIYIMAO\11-Path类\bin\Debug\11-Path类.exe
17             path = Path.GetTempFileName();//临时文件夹保存路径  自动创建文件 C:\Documents and Settings\PIZIYIMAO\Local Settings\Temp\tmp5E.tmp
18             path = Path.GetTempPath();//获取临时文件夹保存路径 C:\Documents and Settings\PIZIYIMAO\Local Settings\Temp\
19             Console.WriteLine(path);
20             Console.Read();
21         }
22     }
23 }

 

2、操作目录类 Directory与DirectoryInfo

 

 1 using System;
 2 using System.IO;
 3 namespace _12_Directory {
 4     class Program {
 5         static void Main( string[] args) {
 6             DirectoryInfo dic = new DirectoryInfo( "c:\\abc" );
 7             //dic.Name; //获取文件名
 8             //dic.FullName; //获取文件全路径  功能要比Directory强大 区别在于它是实例类 而后者是静态类
 9             Directory .CreateDirectory("c:\\abc" ); //创建文件夹
10             Directory .CreateDirectory("c:\\abc\\1\\2\\3\\4\\5\\6\\7" ); //连续创建多级文件夹
11             if (Directory .Exists( "c:\\abc")) //判断是否存在文件夹
12             {
13                 Directory .Delete("c:\\abc" ); //如果存在则删除 如果文件夹为空能正常删除 不为空则会报错 "目录不是空的"
14                 Directory .Delete("c:\\abc" , true); //true则指定 如果文件夹不为空 同样执行删除操作
15             }
16             string [] paths = Directory .GetDirectories( "c:\\abc"); //获取目录中所有子目录名称 注意只取下一级别 即c:\abc\1 如获取windows文件夹下所有文件夹路径可以使用此方法
17             string [] paths2 = Directory .GetDirectories( "c:\\windows", "$*" );//以上方法重载实现  检索以$开头的文件
18             string [] paths3 = Directory .GetDirectories( "c:\\abc", "*" , SearchOption .AllDirectories);//通配符查找文件夹中符合条件的文件 包括子级文件夹
19             foreach (string path in paths) {
20                 Console .WriteLine(path);
21             }
22             string [] files = Directory .GetFiles( "c:\\windows"); //遍历文件夹下的所有文件
23             string [] files2 = Directory .GetFiles( "c:\\windows", "*.ini" , SearchOption .AllDirectories);//通配符查找目录下的文件 用法类似于GetDirectories
24             foreach (string file in files2) {
25                 Console .WriteLine(file);
26             }
27             //目录操作最重要的就是 GetFiles和GetDirectories方法
28             Directory .GetParent("c:\\abc\\1\\2\\3\\4\\5\\6\\7" ); //返回7文件夹的父级目录 c:\abc\1\2\3\4\5\6
29             Console .Read();
30         }
31     }
32 }

 

 

 

3、文件类File

 

using System;
using System.IO;
using System.Text;
namespace _13_File {
    class Program {
        static void Main( string[] args) {
            //file静态类 使用file类时需要注意文件默认编码的使用  如果编码不正确  文件中会显示乱码
            File .AppendAllText("c:\\1.txt" , "gb1232"); //向c:\\1.txt文件中追加 内容“gb2312”
            //如果存在写入文件
            if (File .Exists( "c:\\1.txt")) {
                File .WriteAllText("c:\\1.txt" , "写入中文有时会出现乱码 需要使用第三个参数 指定Encoding文件的编码格式 Default为默认格式" ,Encoding .Default);//WriteAllText是彻底的覆盖 而AppendAllText是追加
            }
            //File.ReadAllText();//读取文件不再列举  以下方法查看文档不再举例
            //string[] ReadAllLines(string path) //读取文本文件到字符串数组中
            //string ReadAllText(string path) //读取文本文件到字符串中
            //WriteAllLines(string path,string[] contents),//将字符串数组逐行保存到文件path中,会覆盖旧内容。
            FileInfo fi = new FileInfo( "c:\\2.txt" );//实例化的类  功能比file要强大
            fi.AppendText(); //它有很多的方法 和属性 自己查看 文档
            Console .Read();
        }
    }
}

 

 

 

Path类与Directory类与File类

标签:

原文地址:http://www.cnblogs.com/Jacklovely/p/5668719.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!