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();
}
}
}输出结果:
