文件、文件夹的操作
1. 文件的管理(File)
1). 读取文件
->文件的路径
->文件的格式(gb2312、utf-8)
Encoding.Default->应用到文件内容的编码(系统默认编码)
Encoding.GetEncoding("gb2312")->换成国际编码
2). 所有的文件操作都在System.IO里面
->读取全部的文本,返回一个string:ReadAllText
->读取每一行的文本,返回一个string数组:ReadAllLines
->遇到回车将前面的文本作为一项放到数组中
->读取文本内容,将文本内容的每一行作为数组中的一项
->将所有文本读入数组中
3). 写文件使用File方法,当文件不存在时,会自动创建;如果文件操作,会将文件内容覆盖
4). 文件的操作:
->文件操作都要引用System.IO这个命名空间 ,文件操作都在类File中
->读文件
->ReadAllLines(路径,编码格式); ->返回数组,是一行一行的读
->ReadAllText(路径,编码格式); ->返回字符串,换行符是\r\n
->写文件
->WriteAllText(路径,字符串内容,编码格式);
->WriteAllLines(路径,字符串数组,编码格式);
->追加文件 ->APPendAllText
5). 文件管理
->Exist 判存
->Create 创建
->Move 移动
->Cope 复制
->Delete 删除
2. 文件夹的管理(Directory) 文件夹的管理相比文件的管理要简单:
->1)判存
->Directory.Existe(文件夹的路径);返回bool类型
->2)创建
->Directory.CreateDirectory(要创建文件夹的路径);
->3)删除
->Directory.Delete(要删除的文件夹);
->4)移动
->Directory.Move(要移动的文件夹的路径,移到目的地的路径);
3. 问题
不管是文件还是文件夹在移动或复制的时候,可能会遇到同名的情况;或者文件路径没有写全、目标文件夹不存在等问题
例如:将D:\1.txt文件,移到D:\1\1.txt,可能会出现以下问题:
->这样写就造成了文件路径不全:File.Move(@"D:\1.txt", @"D:\1");
->解决方案:补全路径名
->如果D盘没有名字为1的文件,这样写就是目标文件夹不存在:File.Move(@"D:\1.txt", @"D:\1\1.txt");
->解决方案:先创建文件夹1
->如果在1这个文件夹里有1.txt这个文件,还这样写就会异常:File.Copy(@"D:\1.txt", @"D:\1\1.txt");
->解决方案:用try-catch捕获异常;或者把原来的文件覆盖掉:File.Copy(@"D:\1.txt", @"D:\1\1.txt",true );
4. 获得文件夹下的文件与文件夹
获得文件:
->Directory.GetFiles(指定文件夹的路径,*.后缀名(指定的文件类型));返回一个数组,不要第二个参数,则返回所以文件
获得文件夹:
->Directory.GetDirectory(指定文件夹的路径,*.后缀名(指定的文件类型));返回一个数组,不要第二个参数,则返回所以文件夹
用foreach遍历出文件或文件夹的名字:
->foreach(string item in arrayName(返回数组的名字))
{
int index=item.LastIndexOf('\\');
string str = item.Substring(index + 1);
Console.ReadLine(str);
}
出处:http://www.cnblogs.com/kingboy2008/
本文版权归作者和博客园、今日头条、CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。该文章也同时发布在我的独立博客中-博客园—灵雨飘零、今日头条—IT技术资源爱好者 和 CSDN—灵雨飘零。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!