C# Path类、File类、Directory类复习
Path类:对包含文件或目录路径信息的 String 实例执行操作。 这些操作是以跨平台的方式执行的。
命名空间: System.IO
Path类常用方法:
using System; using System.IO; namespace Path类复习 { class Program { static void Main(string[] args) { string p = @"D:\Users\Desktop";//路径 string n = @"小道博客.txt";//文件 string path = Path.Combine(p, n);//将两个字符串合并成一个路径。可以方便解决不加斜线问题。自动处理路径分隔符问题。 Console.WriteLine("{0} 和 {1} 合并后得到: {2}.", p, n, path);//输出 Console.WriteLine("判断 {0} 路径,是否是具体文件路径: {1}", path, Path.HasExtension(path)); //确定路径是否包括文件扩展名。通过确定扩展名 来判断 路径是否为 具体文件路径。 Console.WriteLine("从路径 {0} 中获取到路径为: {1}", path, Path.GetDirectoryName(path)); //返回指定路径字符串的目录信息。 Console.WriteLine("{0} 文件的扩展名为: {1}", n, Path.GetExtension(path)); //返回指定的路径字符串的扩展名。 Console.WriteLine("{0} 路径下的文件名为(包括扩展名): {1} ", path,Path.GetFileName(path)); //返回指定路径字符串的文件名和扩展名。 Console.WriteLine("{0} 路径下的文件名为(不包括扩展名): {1} ", path,Path.GetFileNameWithoutExtension(path)); //返回不具有扩展名的指定路径字符串的文件名。 Console.WriteLine("本程序当前所在绝对路径: {0}",Path.GetFullPath(@".\")); //返回指定路径字符串的绝对路径。 Console.WriteLine("将路径 {0} 文件扩展名改为(png): {1}",path,Path.ChangeExtension(path,"png")); //更改路径字符串的扩展名。仅更改 路径 字符串 的扩展名,具体文件未更改。 Console.ReadKey(); } } }
输出结果:
File类:提供用于创建、复制、删除、移动和打开单一文件的静态方法,并协助创建 FileStream 对象。
命名空间: System.IO
File类常用方法:
using System; using System.IO; namespace File类复习 { class Program { static void Main(string[] args) { File.Create(@"D:\Users\Desktop\小道博客.txt"); Console.WriteLine("创建成功!"); File.Copy(@"D:\Users\Desktop\文本1.txt", @"D:\Users\Desktop\复制文件1.txt"); Console.WriteLine("复制成功!"); File.Move(@"D:\Users\Desktop\文本2.txt", @"D:\Users\小道博客.txt"); Console.WriteLine("剪切成功!"); File.Delete(@"D:\Users\Desktop\文本3.txt"); Console.WriteLine("删除成功!"); Console.ReadKey(); } } }
输出结果:
使用File类 读写操作。
using System; using System.IO; using System.Text; namespace File类复习 { class Program { static void Main(string[] args) { //使用 WriteAllBytes 写入文件。覆盖文件内容 string strWrite = "使用 WriteAllBytes 写入文件."; byte[] bW = Encoding.UTF8.GetBytes(strWrite); File.WriteAllBytes(@"D:\Users\Desktop\小道博客.txt", bW); Console.WriteLine("使用 WriteAllBytes 写入文件成功."); //使用 ReadAllBytes 读取文件。 byte[] buffer = File.ReadAllBytes(@"D:\Users\Desktop\小道博客.txt"); string str = Encoding.UTF8.GetString(buffer); Console.WriteLine("\r\n使用 ReadAllBytes 读取数据.\r\n{0}", str); //使用 WriteAllLines 写入文件。覆盖文件内容 File.WriteAllLines(@"D:\Users\Desktop\小道博客.txt", new string[] { "使用", "WriteAllLines", "写入文件." }); Console.WriteLine("\r\n使用 WriteAllLines 写入文件成功."); //使用 ReadAllLines 读取文件。 string[] strs= File.ReadAllLines(@"D:\Users\Desktop\小道博客.txt", Encoding.UTF8); Console.WriteLine("\r\n使用 ReadAllLines 读取数据."); for (int i = 0; i < strs.Length; i++) { Console.WriteLine(strs[i]); } //使用 WriteAllText 写入文件。覆盖文件内容 File.WriteAllText(@"D:\Users\Desktop\小道博客.txt", "使用 WriteAllText 写入文件."); Console.WriteLine("\r\n使用 WriteAllText 写入文件成功."); //使用 ReadAllText 读取文件。 string strtxt = File.ReadAllText(@"D:\Users\Desktop\小道博客.txt", Encoding.UTF8); Console.WriteLine("\r\n使用 ReadAllText 读取数据.\r\n{0}", strtxt); Console.ReadKey(); } } }
输出结果:
文本追加:
using System; using System.IO; namespace File类复习 { class Program { static void Main(string[] args) { //文本追加。 File.AppendAllText(@"D:\Users\Desktop\追加文本.txt", "小道博客\r\n"); Console.WriteLine("文本追加成功."); File.AppendAllText(@"D:\Users\Desktop\追加文本.txt", "https://www.daobk.com"); Console.WriteLine("文本追加成功."); Console.ReadKey(); } } }
输出结果:
Directory类:公开用于通过目录和子目录进行创建、移动和枚举的静态方法。 此类不能被继承。
命名空间: System.IO
Directory类常用方法:
using System; using System.IO; namespace Directory类复习 { class Program { static void Main(string[] args) { //创建新建文件夹 Directory.CreateDirectory(@"D:\Users\Desktop\新建文件夹"); Console.WriteLine("新建文件夹成功."); //移动文件夹 Directory.Move(@"D:\Users\Desktop\新建文件夹", @"D:\Users\新建文件夹"); Console.WriteLine("移动文件夹成功."); //删除文件夹。若要移除 path 中的目录、子目录和文件,则为 true;否则为 false。 Directory.Delete(@"D:\Users\新建文件夹", true); Console.WriteLine("删除文件夹成功."); Console.ReadKey(); } } }
输出结果:
文件夹判断是否存在和获取文件夹内所有文件路径:
using System; using System.IO; namespace Directory类复习 { class Program { static void Main(string[] args) { //确定给定路径是否引用磁盘上的现有目录。 if (Directory.Exists(@"D:\Users\Desktop\图片")) { Console.WriteLine("有文件夹."); } else { Console.WriteLine("没有文件夹."); } //返回指定目录中与指定的搜索模式匹配的文件的名称(包含它们的路径)。 string[] strs = Directory.GetFiles(@"D:\Users\Desktop\图片", "*.*"); for (int i = 0; i < strs.Length; i++) { Console.WriteLine(strs[i]); } Console.ReadKey(); } } }
输出结果: