c#File&&path 类

本文介绍了如何使用Path类和File类进行文件路径操作及文件读写,并解释了不同编码方式的特点及其可能导致的乱码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.利用path类对文件路径进行操作
 
//获得文件名
            Console.WriteLine(Path.GetFileName(filePath));
            //获得的文件名不包含文件扩展名
            Console.WriteLine(Path.GetFileNameWithoutExtension(filePath));
           //获得文件扩展名
            Console.WriteLine(Path.GetExtension(filePath));
            //获得文件所在文件夹名
            Console.WriteLine(Path.GetDirectoryName(filePath));
            //获得文件全路径
            Console.WriteLine(Path.GetFullPath(filePath));
            //连接两个字符串,编程文件名 (连接的两个字符串必须是文件夹名和文件名+后缀)
            Console.WriteLine(Path.Combine(@"a\b\" ,"c.txt"));

2.利用File类对文件进行操作
 //文件创建
            File.Create(@"c\desp\file.txt");
            //文件删除
            File.Delete(@"c\desp\file.txt");
            //将文件A复制给文件B的路径
            File.Copy(@"c\desp\file.txt", @"c\desp\file");
 //剪切文件
 File.move("");
 //从文件中读取数据
 File.ReadAllBytes();Encoding.Default.GetString将读取的字符数组转换成字符串
 //向文件中写数据
 File.WriteAllBytes()

3.计算机编码的几种类型   编码就是将字符串以怎样的形式保存为二进制。
ASC 128  ----最早发明
ASCII 256-----东欧国家发明
GB2312 国标-----中国发明
Big5 繁体字---中国台湾等用繁体字的地区发明
Unicode统一,但速度比较慢

产生乱码的原因:就是你保存这个文件所采用的编码和你打开这个文件所采用的编码格式不一样。

 4.File类

//文件创建
            //File.Create(@"c\desp\file.txt");
            //文件删除
            //File.Delete(@"c\desp\file.txt");
            ////将文件A复制给文件B的路径
            //File.Copy(@"c\desp\file.txt", @"c\desp\file");
            //从文件中读取字符数据
           Byte [] buffer = File.ReadAllBytes(@"C:\Users\Administrator\Desktop\c # eleven day.txt");
            //将读取到的字符数据转换成字符串
            //GB2312 utf8 utf32  GBK UNICODE
           string result = Encoding.GetEncoding("GBK").GetString(buffer);

            //创建文件并写入数据
           string stt = "今天天气好晴朗";
           Byte [] by = Encoding.Default.GetBytes(stt);
           File.WriteAllBytes(@"C:\Users\Administrator\Desktop\new.txt" , by);

 //当需要对文本的每一行数据进行处理时,用ReadAllLines()
           string[] readLine = File.ReadAllLines(@"C:\Users\Administrator\Desktop\new.txt" ,Encoding.Default);
            //将字符串数组中的每一个元素提取出来
            foreach (var item in readLine)
            {
                Console.WriteLine(item);
            }

            //这种方式仅仅是读取文件中的数据,保存为字符串
           string strt = File.ReadAllText(@"C:\Users\Administrator\Desktop\new.txt",Encoding.Default);
           Console.WriteLine(strt);
//按照行的形式向文件中写数据
File.WriteAllLines(@"C:\Users\Administrator\Desktop\new.txt",new string []{"  " ,"asdg"})

//按照字符串的形式向文件中写数据

File.WriteAllText(@"C:\Users\Administrator\Desktop\new.txt","张三历史上辣咖啡就对啦;");

以上几种方式向文件中写数据都会覆盖原有的数据

//这种方式向文件中写数据,是将数据追加到原有数据的尾部。
File.AppendAllText(@"C:\Users\Administrator\Desktop\new.txt","看我有没有把你覆盖掉");

File类只能用来读小文件,因为大文件占据的内存大


5.绝对路径和相对路径
绝对路径:直接通过路径能够找到文件,
相对路径:和应用程序放在同一个文件目录下。

文件类复习

1.Path类
Path.ChangeExtension(@" " , "jpg");//更改文件后缀
Path.Combine();//连接两个文件路劲
Path.GetDirectoryName(@" ");得到文件的路径名不包含后缀
Path.GetExtension()//获得文件扩展名
PathFileName();//获得文件名

2.File类
File.Create()//创建文件
File.Delete()//删除文件
File.Copy()//将一个文件复制到另一个文件路径下
File.Move()//剪切文件

//以字节的形式,能读取所有类型的数据
Byte []buffer = File.ReadAllBytes(@"");
string str = Encoding.Default.GetString(buffer,0,buffer.Length);//实现解码

编码:把字符串以怎样的形式存储为二进制ASCII GBK UTF-8

//需要以一行一行操作数据
string []str = File.ReadAllLines(@" ");

string str = File.ReadAllText(@" ");

Byte[]byt = Encoding.Default.GetBytes(str);
File.WriteAllBytes(@"" ,byt);

3.Directory类

Directory.CreateDirectory();//创建文件夹
Directory.Delete(@"" ,true);//删除文件夹
Directory.Move();
Directory.GetFiles(@"" ,"*.jpg/txt");//获得指定路经下指定格式的文件的所有路径。

 

转载于:https://www.cnblogs.com/jefy/p/9207380.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值