C#2008与.NET 3.5 高级程序设计读书笔记(20)-- 文件输入输出和隔离存储
2010-08-09 15:22
387 查看
1.System.IO命名空间
System.IO命名空间主要包括基于文件和基于内存的输入输出(I/O)服务的相关类库.它们大多数包含在mscorlib.dll中,另外一部分则包含在System.dll中.System.IO命名空间中的多数类型主要用于编程操作物理目录和文件,而另一些类型则提供了从字符串缓冲区和类存区域中读写数据的方法.
代码
总结:Directory(Info)和File(Info)可以用来操作物理文件和目录.因为从Stream类型派生的类型操作的是原始直接流,所以常用读/写器(StreamWriter,StringWriter,BinaryWriter)来简化这个读写过程.最后,可以使用FileSystemWatcher来检测文件夹的变化.
System.IO命名空间主要包括基于文件和基于内存的输入输出(I/O)服务的相关类库.它们大多数包含在mscorlib.dll中,另外一部分则包含在System.dll中.System.IO命名空间中的多数类型主要用于编程操作物理目录和文件,而另一些类型则提供了从字符串缓冲区和类存区域中读写数据的方法.
代码
// Establish the path to the directory to watch. FileSystemWatcher watcher = new FileSystemWatcher(); try { watcher.Path = @"C:\MyFolder"; } catch (ArgumentException ex) { Console.WriteLine(ex.Message); return; } #region Set up fliters / events. // Set up the things to be on the lookout for. watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName; // Only watch text files. watcher.Filter = "*.txt"; // Add event handlers. watcher.Changed += new FileSystemEventHandler(OnChanged); watcher.Created += new FileSystemEventHandler(OnChanged); watcher.Deleted += new FileSystemEventHandler(OnChanged); watcher.Renamed += new RenamedEventHandler(OnRenamed); // Begin watching the directory. watcher.EnableRaisingEvents = true; #endregion // Wait for the user to quit the program. Console.WriteLine(@"Press 'q' to quit app."); while (Console.Read() != 'q') ; } #region Event Handlers static void OnChanged(object source, FileSystemEventArgs e) { // Specify what is done when a file is changed, created, or deleted. Console.WriteLine("File: {0} {1}!", e.FullPath, e.ChangeType); } static void OnRenamed(object source, RenamedEventArgs e) { // Specify what is done when a file is renamed. Console.WriteLine("File: {0} renamed to\n{1}", e.OldFullPath, e.FullPath); } #endregion
总结:Directory(Info)和File(Info)可以用来操作物理文件和目录.因为从Stream类型派生的类型操作的是原始直接流,所以常用读/写器(StreamWriter,StringWriter,BinaryWriter)来简化这个读写过程.最后,可以使用FileSystemWatcher来检测文件夹的变化.
相关文章推荐
- C#2008与.NET 3.5 高级程序设计读书笔记(11)-- 委托、事件和Lambda
- C#2008与.NET 3.5 高级程序设计读书笔记(17)-- 进程、应用程序域和对象上下文
- C#2008与.NET 3.5 高级程序设计读书笔记(22)-- ADO.NET之一:连接层
- C#2008与.NET 3.5 高级程序设计读书笔记(9)--接口
- C#2008与.NET 3.5 高级程序设计读书笔记(25)-- WCF
- C#2008与.NET 3.5 高级程序设计读书笔记(12)-- 索引器
- C#2008与.NET 3.5 高级程序设计读书笔记(23)-- ADO.NET之二:断开连接层
- C#2008与.NET 3.5 高级程序设计读书笔记(6)--继承和多态
- C#2008与.NET 3.5 高级程序设计读书笔记(16)-- 类型反射、晚期绑定和基于特性的编程
- C#2008与.NET 3.5 高级程序设计读书笔记(24)-- LINQ API编程
- C#2008与.NET 3.5 高级程序设计读书笔记(1)--.NET之道
- C#2008与.NET 3.5 高级程序设计读书笔记(4)--C#核心编程结构II
- C#2008与.NET 3.5 高级程序设计读书笔记(13)-- C#3.0的语言功能
- C#2008与.NET 3.5 高级程序设计读书笔记(31)-- 构建ASP.NET网页
- C#2008与.NET 3.5 高级程序设计读书笔记(8)--对象的生命周期
- C#2008与.NET 3.5 高级程序设计读书笔记(15)-- .NET程序集入门
- C#2008与.NET 3.5 高级程序设计读书笔记(3)--C#核心编程结构I
- C#2008与.NET 3.5 高级程序设计读书笔记(32)-- ASP.NET Web控件、主题和母版页
- C#2008与.NET 3.5 高级程序设计读书笔记(5)--定义封装的类类型
- 步步为营VS 2008 + .NET 3.5(4) - C# 3.0新特性之LambdaExpressions(Lambda表达式)、QuerySyntax(查询语法)和AnonymousTypes(匿名类型)