Path类与Directory类与File类对路径/目录/文件的操作实例
2024-07-10 12:46:22
供稿:网友
 
Path 对路径 字符串进行操作 
获得后缀 
能合并路径 
获取文件名 
Directory和DirectoryInfo 对目录进行操作 
判断目录是否存在 
创建目录 
删除目录 
获取目录下所有的子目录 
获取目录下所有的子文件 
File和FileInfo 对文件进行操作 
读文件 
写文件 
追加文件 
判断文件是否存在 
创建文件 
删除文件 
1、Path类 
 代码如下: 
using System; 
using System.IO;//目录和文件操作的名称空间 
namespace _11_Path类 { 
class Program { 
static void Main(string[] args) { 
string path = "c://abc//1.txt" ; 
//注意这里是对路径字符串的操作 而不是真正的文件 “修改”支持字符串层面的,没有真的给文件改名 
path = Path.ChangeExtension(path, "avi" );//ChangeExtension()修改文件后缀名1.avi c://abc//1.avi 
//将两个路径合成一个路径,比用+好,可以方便解决是不是加斜线的问题,自动处理路径分隔符的问题 
path = Path.Combine("c://abc//def//" , "1.jpg"); //c:/abc/def/1.jpg 
//得到文件所在文件夹的位置 同样是从字符串的角度去处理 
path = Path.GetDirectoryName(path);//c:/abc 
path = Path.GetExtension(path);//扩展名 .txt 
path = Path.GetFileName(path);//文件名.后缀名 1.txt 
path = Path.GetFileNameWithoutExtension(path);//不含后缀的文件名 1 
path = Path.GetFullPath("11-Path类.exe" );//文件全路径(相对文件的全路径 一般也不用此方法) F:/PIZIYIMAO/11-Path类/bin/Debug/11-Path类.exe 
path = Path.GetTempFileName();//临时文件夹保存路径 自动创建文件 C:/Documents and Settings/PIZIYIMAO/Local Settings/Temp/tmp5E.tmp 
path = Path.GetTempPath();//获取临时文件夹保存路径 C:/Documents and Settings/PIZIYIMAO/Local Settings/Temp/ 
Console.WriteLine(path); 
Console.Read(); 
} 
} 
} 
 
2、操作目录类 Directory与DirectoryInfo 
 代码如下: 
using System; 
using System.IO; 
namespace _12_Directory { 
class Program { 
static void Main( string[] args) { 
DirectoryInfo dic = new DirectoryInfo( "c://abc" ); 
//dic.Name; //获取文件名 
//dic.FullName; //获取文件全路径 功能要比Directory强大 区别在于它是实例类 而后者是静态类 
Directory .CreateDirectory("c://abc" ); //创建文件夹 
Directory .CreateDirectory("c://abc//1//2//3//4//5//6//7" ); //连续创建多级文件夹 
if (Directory .Exists( "c://abc")) //判断是否存在文件夹 
{ 
Directory .Delete("c://abc" ); //如果存在则删除 如果文件夹为空能正常删除 不为空则会报错 "目录不是空的" 
Directory .Delete("c://abc" , true); //true则指定 如果文件夹不为空 同样执行删除操作 
} 
string [] paths = Directory .GetDirectories( "c://abc"); //获取目录中所有子目录名称 注意只取下一级别 即c:/abc/1 如获取windows文件夹下所有文件夹路径可以使用此方法