c#面向对象5--Path类/File类(上)/编码格式
2021-04-07 本文已影响0人
Mona_Song
1.Path类:专门用来操作路径的
Path.GetFileName(地址字符串)
可以快速获得一个路径下的文件名;
Path.GetFileNameWithoutExtension(地址字符串)
可以快速获得一个路径下的没有扩展名的文件名;
Path.GetExtension(地址字符串)
可以快速获得一个文件的扩展名;
Path.GetDirectoryName(地址字符串)
获得文件所在文件夹的名称;
Path.GetFullPath(地址字符串)
获得文件的全路径;
Path.Combine(@"c:\a\","b.txt")
把两段路径连接起来;
- 之前使用字符串的Substring截取,现在使用Path的函数快速找到文件名:
namespace _00截取地址
{
class Program
{
static void Main(string[] args)
{
string str = @"D:\Tools\VS2019\workplace\foreach循环\foreach循环.sln";
Console.WriteLine(Path.GetFileName(str));
Console.WriteLine(Path.GetFileNameWithoutExtension(str));
Console.WriteLine(Path.GetExtension(str));
Console.WriteLine(Path.GetDirectoryName(str));
Console.WriteLine(Path.Combine(@"c:\a\", "b.txt"));
//int index = str.LastIndexOf("\\");
//str = str.Substring(index+1);
//Console.WriteLine(str);
Console.ReadKey();
}
}
}
运行结果
2.File类
File.Create(路径及新建文件名);
创建一个文件
File.Delete(路径);
删除一个文件
File.Copy(被拷贝路径,新路径);
拷贝文件
File.Move(原路径及文件名,新路径及文件名);
将指定文件移动到新位置,并指定新文件名的选项;
File.ReadAllBytes(要打开的文件路径);
打开一个文件,然后将文件的内容读入一个字符串,然后关闭该文件;
File.ReadAllBytes();会得到一个字节数组,要把字节数组转换成字符串,使用Encoding.Default.GetString(字节数组);
File.WriteAllBytes(新文件路径,new byte[]{1,2,3});
创建一个新文件,在其中写入指定的字节数组,然后关闭该文件。如果目标文件已存在,则覆盖该文件。
File.WriteAllBytes();写入之前要将要写入的字符串转换成字节数组,使用Encoding.Default.GetBytes(字符串);
namespace File类
{
class Program
{
static void Main(string[] args)
{
//创建一个文件
//File.Create(@"C:\Users\lenovo\Desktop\a.txt");
//Console.WriteLine("创建成功");
//Console.ReadKey();
//删除一个文件
//File.Delete(@"C:\Users\lenovo\Desktop");
//Console.WriteLine("删除成功");
//Console.ReadKey();
//复制一个文件
//File.Copy(@"D:\Tools\VS2019\workplace\new.txt",@"D:\Tools\VS2019\workplace\copy.txt");
//Console.WriteLine("复制成功");
//Console.ReadKey();
//移动文件
//File.Move(@"C:\Users\lenovo\Desktop\b.txt", @"E:\a.txt");
//创建一个新文件,在其中写入指定的字节数组,然后关闭该文件。如果目标文件已存在,则覆盖该文件。
//string s = "小可爱与大漂亮";
//byte[] b = Encoding.Default.GetBytes(s);
//File.WriteAllBytes(@"C:\Users\lenovo\Desktop\a.txt",b );
//Console.WriteLine("写成功");
//Console.ReadKey();
//打开一个文件,然后将文件的内容读入一个字符串,然后关闭该文件
//byte[] b = new byte[] { };
//b = File.ReadAllBytes(@"C:\Users\lenovo\Desktop\a.txt");
//string s = Encoding.Default.GetString(b);
//Console.WriteLine(s);
//Console.ReadKey();
}
}
}
图1:键盘写入情况下File.ReadAllBytes();读出的结果是乱码
图2:File.WriteAllBytes();写入成功
图3:File.ReadAllBytes();读刚刚用WriteAllBytes();写的就可以成功
3.编码格式
- 编码格式:将字符串以什么样的形式保存为二进制,就是编码格式,如:
ASC 英文
ASCII 欧洲国家
GB2312 简体
Big5 繁体
Unicode 编码时间较长
UTF-8 web通用