赞
踩
Path是静态类。只适用于操作路径的类。
string str = @"D:\paths\gaosan.txt";
//// 获得文件的名字,返回字符串
string name = Path.GetFileName(str);
Console.WriteLine(name);
// 获得文件的名字,但是不包含扩展名
Console.WriteLine(Path.GetFileNameWithoutExtension(str));
// 获得文件的扩展名
Console.WriteLine(Path.GetExtension(str));
// 获得此文件所在的文件夹的名称
Console.WriteLine(Path.GetDirectoryName(str));
// 获得文件所在的全路径
Console.WriteLine(Path.GetFullPath(str));
// 将字符串数组组合成一个路径(连接两个字符串作为路径)
Console.WriteLine(Path.Combine(@"c:\a\" + "b.txt"));
File 也是一个静态类,操作文件。
//*** File 静态类
string path = @"D:\paths\gaosan.txt";
// 在指定的路径中创建文件或覆盖文件
File.Create(@"D:\paths\gaosan.txt");
Console.WriteLine("创建成功");
// 删除指定的文件
File.Delete(path);
// 复制一个文件(你要复制的文件,新文件) true 表示当文件存在时 "覆盖",如果不加 true ,则文件存在会报异常
File.Copy(@"D:\paths\gaosan.txt",@"D:\paths\CSDN.txt",true);
// 将文件移动(剪切)到新的位置,并提供指定新文件名
File.Move(@"D:\paths\gaosan.txt",@"D:\paths\gaosan\gaosan.txt");
// 判断文件是否存在
Console.WriteLine(File.Exists(@"D:\paths\gaosan.txt"));
// 打开一个文件,将文件的内容读入一个字符串,然后关闭该文件;返回一个 byte 数组
byte[] buffer = File.ReadAllBytes(@"D:\paths\gaosan\gaosan.txt");
// 将字节数组中的每一个元素都要按照我们指定的编码格式 解码成字符串
// Encoding 表示字节编码
string str = Encoding.Default.GetString(buffer);
Console.WriteLine(str);
// 打开一个文件,读取文件的所有行,然后关闭该文件
string[] str1 = File.ReadAllLines(@"D:\paths\gaosan\gaosan.txt");
foreach (string item in str1)
{
Console.WriteLine(item);
}
注意这里读取出现了乱码,那是因为编码格式不一致。我们可以使用第二个重载,在参数二指定编码格式。在运行
// 打开一个文件,读取文件的所有行,然后关闭该文件
string[] str1 = File.ReadAllLines(@"D:\paths\gaosan\gaosan.txt",Encoding.Default);
foreach (string item in str1)
{
Console.WriteLine(item);
}
string str = File.ReadAllText(@"D:\paths\gaosan.txt", Encoding.Default);
Console.WriteLine(str);
(注意字节数组我们并看不懂,所有写入的时候先创建字符串再把字符串转换成字节数组)
// WriteAllBytes 创建一个新文件,在其中写入指定的字节数组,
// 然后关闭文件,如果目标文件已存在,则覆盖该文件。
string str2 = "CSDN:http://blog.csdn.net/";
// 需要将字符串转换成字节数组
byte[] buffer1 = Encoding.Default.GetBytes(str2);
File.WriteAllBytes(@"D:\paths\gaosan\gaosan.txt", buffer1);
// 创建一个新文件,如果已经存在则覆盖,在其中写入指定的字符串数组 (一行一行的写入对应字符串数组元素)
File.WriteAllLines(@"D:\paths\gaosan\gaosan.txt", new string[] { "高山", "http://blog.csdn.net/joinl" });
在这里注意,打开文件出现了乱码,这是因为编码格式的原因,此方法有四个重载,我们可以在第三个参数指定个编码格式。在运行。
11 .1. File.WriteAllLines(string path, string[] contents, Encoding encoding);
File.WriteAllLines(@"D:\paths\gaosan\gaosan.txt", new string[] { "高山", "http://blog.csdn.net/joinl" },Encoding.UTF8);
// 创建一个新文件,如果已经存在则覆盖,在其中写入指定的字符串
File.WriteAllText(@"D:\paths\gaosan\gaosan.txt", "CSDN:http://blog.csdn.net/", Encoding.UTF8);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。