C#回顾 - 2.NET的IO:Path、File、FileInfo、Directory、DirectoryInfo、DriveInfo、FileSystemWatcher
- 1. 管理文件系统#
- 1.1 使用 path 类来访问文件路径#
- 1.2 使用 File 和 FileInfo 类访问文件#
- 1.2.1 - File 类
- 1.2.2 - FileInfo 类
- 1.3 使用Directory 和 DirectoryInfo 类访问目录#
- 1.3.1 - Directory 类
- 1.3.2 - DirectoryInfo 类
- 1.4 使用 DriveInfo 类访问驱动器#
- #
- 1.5 FileSystemWatcher 类#
1.管理文件系统#
一般而言,应用程序都会有保存数据、检索数据的需求。
1.1 使用 path 类来访问文件路径#
【path常用的方法】:http://www.cnblogs.com/tangge/archive/2012/10/30/2746458.html#a3
1.2 使用 File 和 FileInfo 类访问文件#
1.2.1 File 类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | static void Main( string [] args) { string sourceFileName = @"F:\a.txt" ; //源文件 string destFileName = @"c:\a.txt" ; //目标文件 //如果源文件不存在 if (!File.Exists(sourceFileName)) { File.Create(sourceFileName).Close(); } //如果目标文件存在,先删除 if (File.Exists(destFileName)) { File.Delete(destFileName); } File.Copy(sourceFileName, destFileName); File.Delete(sourceFileName); } |
重复记录
string sourceFileName = @"F:\a.txt"; //源文件 string destFileName = @"c:\a.txt"; //目标文件 StreamWriter sw = File.AppendText(destFileName); sw.WriteLine(string.Format("{0}复制完毕", DateTime.Now)); sw.Flush(); sw.Close();
1.2.2 FileInfo 类
Length
private static void Main(string[] args) { string path = @"E:\中天IT\视频\DVD-ASP.NET\DVD-张波.NETC1001\IO详解——张波.NETC1001\1上次复习_作业讲解.avi"; FileInfo fi = new FileInfo(path); Console.WriteLine( string.Format("本文件为{0:#.00}M", fi.Length / (1024 * 1024))); }
#
1.3 使用Directory 和 DirectoryInfo 类访问目录#
1.3.1 Directory 类
string path = @"F:\tt\aeg\www"; if (Directory.Exists(path)) { Directory.Delete(path); } else { Directory.CreateDirectory(path); }
string path = @"F:\tt\aeg"; //GetFiles 检索文件列表 string[] aa= Directory.GetFiles(path); foreach (var a in aa) { Console.WriteLine(a); } Console.WriteLine("------------"); //GetDirectories 检索文件夹列表 foreach (var s in Directory.GetDirectories(path)) { Console.WriteLine(s); } Console.WriteLine("------------"); //GetDirectories 检索文件夹和文件列表 foreach (var s in Directory.GetFileSystemEntries(path)) { Console.WriteLine(s); }

1.3.2 DirectoryInfo 类
1.4 使用 DriveInfo 类访问驱动器#
Console.WriteLine("驱动器{0},类型为{1},",dr.Name,dr.DriveType); //if (dr.IsReady) //{ Console.WriteLine("可用空间为{0}", dr.AvailableFreeSpace); //}
#
#
Console.WriteLine("驱动器{0},类型为{1},", dr.Name, dr.DriveType); if (dr.IsReady)//设备已经准备好 { Console.WriteLine("\t可用空间为{0}G", dr.AvailableFreeSpace/(1024*1024*1024)); //41G Console.WriteLine("\t分区格式为{0}\n",dr.DriveFormat); //NTFS }
1.5 FileSystemWatcher 类#
2.使用字节流
3.管理应用程序数据
4.高效操作字符串
作者:【唐】三三
出处:https://www.cnblogs.com/tangge/p/3271419.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个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满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具