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. static void Main(string[] args)
  2. {
  3. string sourceFileName = @"F:\a.txt"; //源文件
  4. string destFileName = @"c:\a.txt"; //目标文件
  5. //如果源文件不存在
  6. if (!File.Exists(sourceFileName))
  7. {
  8. File.Create(sourceFileName).Close();
  9. }
  10. //如果目标文件存在,先删除
  11. if (File.Exists(destFileName))
  12. {
  13. File.Delete(destFileName);
  14. }
  15.  
  16. File.Copy(sourceFileName, destFileName);
  17. File.Delete(sourceFileName);
  18. }

 

重复记录

  1. string sourceFileName = @"F:\a.txt"; //源文件
  2. string destFileName = @"c:\a.txt"; //目标文件
  3.  
  4. StreamWriter sw = File.AppendText(destFileName);
  5. sw.WriteLine(string.Format("{0}复制完毕", DateTime.Now));
  6. sw.Flush();
  7. sw.Close();

 

1.2.2 FileInfo 类

 

Length

  1. private static void Main(string[] args)
  2. {
  3. string path = @"E:\中天IT\视频\DVD-ASP.NET\DVD-张波.NETC1001\IO详解——张波.NETC1001\1上次复习_作业讲解.avi";
  4. FileInfo fi = new FileInfo(path);
  5. Console.WriteLine(
  6. string.Format("本文件为{0:#.00}M", fi.Length / (1024 * 1024)));
  7. }

 

1.3 使用Directory 和 DirectoryInfo 类访问目录

1.3.1 Directory 类

 

  1. string path = @"F:\tt\aeg\www";
  2. if (Directory.Exists(path))
  3. {
  4. Directory.Delete(path);
  5. }
  6. else
  7. {
  8. Directory.CreateDirectory(path);
  9. }

 

 

  1. string path = @"F:\tt\aeg";
  2.  
  3. //GetFiles 检索文件列表
  4. string[] aa= Directory.GetFiles(path);
  5. foreach (var a in aa)
  6. {
  7. Console.WriteLine(a);
  8. }
  9.  
  10. Console.WriteLine("------------");
  11. //GetDirectories 检索文件夹列表
  12. foreach (var s in Directory.GetDirectories(path))
  13. {
  14. Console.WriteLine(s);
  15. }
  16.  
  17. Console.WriteLine("------------");
  18. //GetDirectories 检索文件夹和文件列表
  19. foreach (var s in Directory.GetFileSystemEntries(path))
  20. {
  21. Console.WriteLine(s);
  22. }

 

1.3.2 DirectoryInfo 类

 

 

1.4 使用 DriveInfo 类访问驱动器

  1. Console.WriteLine("驱动器{0},类型为{1},",dr.Name,dr.DriveType);
  2. //if (dr.IsReady)
  3. //{
  4. Console.WriteLine("可用空间为{0}", dr.AvailableFreeSpace);
  5. //}

 

 

  1. Console.WriteLine("驱动器{0},类型为{1},", dr.Name, dr.DriveType);
  2. if (dr.IsReady)//设备已经准备好
  3. {
  4. Console.WriteLine("\t可用空间为{0}G", dr.AvailableFreeSpace/(1024*1024*1024)); //41G
  5. Console.WriteLine("\t分区格式为{0}\n",dr.DriveFormat); //NTFS
  6. }

 

1.5 FileSystemWatcher 类

 

 

 

2.使用字节流

3.管理应用程序数据

4.高效操作字符串

C#回顾 - 2.NET的IO:Path、File、FileInfo、Directory、DirectoryInfo、DriveInfo、FileSystemWatcher的更多相关文章

  1. File,FileInfo,Directory,DirectoryInfo

    两者的共同点:  一:都用于典型的操作,如复制.移动.重命名.创建.打开.删除和追加到文件   二:默认情况下,将向所有用户授予对新文件的完全读/写访问权限.  两者的区别:   File类是静态类, ...

  2. 【C# IO 操作】 Path 路径类 |Directory类 |DirectoryInfo 类|DriveInfo类|File类|FileInfo类|FileStream类

    Directory类 Directory类 是一个静态类,常用的地方为创建目录和目录管理. 一下来看看它提供的操作. 1.CreateDirectory 根据指定路径创建目录.有重载,允许一次过创建多 ...

  3. Java学习之IO之File类二

    之前学了File便想把我学习视频的名字改了,因为文件名太长不好看,便试着写了个功能实现 package com.gh.file; import java.io.File; /** * 批量文件命名 * ...

  4. IO以及file的一些基本方法

    IO定义:将内存的数据 持久化到设备上 这个动作称为输出 写 Output操作 把硬盘上的数据读取到内存 这个动作称为输入 读 Input 把上面这两种操作称为IO操作 File类的静态成员变量:pa ...

  5. IO流-file

    1.1 IO概述 回想之前写过的程序,数据都是在内存中,一旦程序运行结束,这些数据都没有了,等下次再想使用这些数据,可是已经没有了.那怎么办呢?能不能把运算完的数据都保存下来,下次程序启动的时候,再把 ...

  6. System.IO.Path文件路径类

    Path类的静态属性和方法,此类操作不影响物料文件. 属性 char a = System.IO.Path.VolumeSeparatorChar;//: char b = System.IO.Pat ...

  7. npm安装socket.io时报错的解决方法(npm WARN enoent ENOENT: no such file or directory, open '/usr/local/nodejs/bin/package.json')

    执行 npm install socket.io安装时报错: [root@WEB node_modules]# npm install socket.ionpm WARN enoent ENOENT: ...

  8. Path类与Directory类与File类

    阅读目录 开始 Path 对路径 字符串进行操作 获得后缀 能合并路径 获取文件名 Directory和DirectoryInfo  对目录进行操作 判断目录是否存在 创建目录 删除目录 获取目录下所 ...

  9. IO流-File,字节流,缓冲流

    1.1 IO概述 回想之前写过的程序,数据都是在内存中,一旦程序运行结束,这些数据都没有了,等下次再想使用这些数据,可是已经没有了.那怎么办呢?能不能把运算完的数据都保存下来,下次程序启动的时候,再把 ...

  10. JAVA基础--IO输入输出(File使用)17

    一. File中的方法 1.  列举方法 /* * 获取指定目录以及子目录下的所有文件和文件夹 */ public class ListFilesDemo { public static void m ...

随机推荐

  1. gradle类重复的问题解决方法

    今天遇到一个gradle的类重复问题,学习到一个命令 gradle -q dependencies,可以查看项目里包的依赖关系,发生这个错误是因为我用了一个相册的项目,这个项目里用到了v4包,我自己的 ...

  2. TP中的四种url访问方式

    什么是PATHINFO:就是http://localhost/index.php/Home/Index/index/a/1/b/2?c=3中的红色部分, 注意c=3并不是pathinfo的一部分,它是 ...

  3. (原创)用Receiver和SystemService监听网络状态,注册Receiver的两种方式

    android中网络编程不可避免地要监听网络状态,wifi或者3G以及以太网,并根据当前状态做出相应决策. 在MyReceiver类中的onReceive方法中获得系统服务 ConnectivityM ...

  4. ubuntu安装skype

    1.添加源 sudo add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner&quo ...

  5. td的title属性

    今天才知道html元素td还有一个title属性,就是一个tooltip的东西,即当你把鼠标放在td上面的时候,会弹出一个提示语,这个提示语就是td的title. 把td的文本赋值给title: ht ...

  6. Java Statement和PreparedStatement性能测试(转)

    本文转载自http://blog.csdn.net/liubo5005/article/details/7239935 先上代码: import java.sql.Connection; import ...

  7. close与shutdown函数

    linux网络编程之socket(十):shutdown 与 close 函数的区别  http://blog.csdn.net/yijiu0711/article/details/17349169 ...

  8. poj 1789

    http://poj.org/problem?id=1789 这是一道图论的题,个人觉得和那个POJ1258是差不多的,就是多了一步,题目难以读懂 题目的意思:就是给你一群字符串要你找字符串对应的字符 ...

  9. VIM基础

    http://www.cnblogs.com/wawlian/archive/2012/05/22/2512801.html http://www.cnblogs.com/wawlian/archiv ...

  10. ios Tabbar Item 的图标

    1,tabBarItem图片的推荐尺寸和最大支持尺寸 下面是标签栏(UITabBar)中tab按钮图标分别在1x.2x.3x下不会压缩变形的尺寸: @1x : 推荐 25 x 25   (最大: 48 ...