C#回顾 - 2.NET的IO:Path、File、FileInfo、Directory、DirectoryInfo、DriveInfo、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 类
- 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.高效操作字符串
C#回顾 - 2.NET的IO:Path、File、FileInfo、Directory、DirectoryInfo、DriveInfo、FileSystemWatcher的更多相关文章
- File,FileInfo,Directory,DirectoryInfo
两者的共同点: 一:都用于典型的操作,如复制.移动.重命名.创建.打开.删除和追加到文件 二:默认情况下,将向所有用户授予对新文件的完全读/写访问权限. 两者的区别: File类是静态类, ...
- 【C# IO 操作】 Path 路径类 |Directory类 |DirectoryInfo 类|DriveInfo类|File类|FileInfo类|FileStream类
Directory类 Directory类 是一个静态类,常用的地方为创建目录和目录管理. 一下来看看它提供的操作. 1.CreateDirectory 根据指定路径创建目录.有重载,允许一次过创建多 ...
- Java学习之IO之File类二
之前学了File便想把我学习视频的名字改了,因为文件名太长不好看,便试着写了个功能实现 package com.gh.file; import java.io.File; /** * 批量文件命名 * ...
- IO以及file的一些基本方法
IO定义:将内存的数据 持久化到设备上 这个动作称为输出 写 Output操作 把硬盘上的数据读取到内存 这个动作称为输入 读 Input 把上面这两种操作称为IO操作 File类的静态成员变量:pa ...
- IO流-file
1.1 IO概述 回想之前写过的程序,数据都是在内存中,一旦程序运行结束,这些数据都没有了,等下次再想使用这些数据,可是已经没有了.那怎么办呢?能不能把运算完的数据都保存下来,下次程序启动的时候,再把 ...
- System.IO.Path文件路径类
Path类的静态属性和方法,此类操作不影响物料文件. 属性 char a = System.IO.Path.VolumeSeparatorChar;//: char b = System.IO.Pat ...
- 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: ...
- Path类与Directory类与File类
阅读目录 开始 Path 对路径 字符串进行操作 获得后缀 能合并路径 获取文件名 Directory和DirectoryInfo 对目录进行操作 判断目录是否存在 创建目录 删除目录 获取目录下所 ...
- IO流-File,字节流,缓冲流
1.1 IO概述 回想之前写过的程序,数据都是在内存中,一旦程序运行结束,这些数据都没有了,等下次再想使用这些数据,可是已经没有了.那怎么办呢?能不能把运算完的数据都保存下来,下次程序启动的时候,再把 ...
- JAVA基础--IO输入输出(File使用)17
一. File中的方法 1. 列举方法 /* * 获取指定目录以及子目录下的所有文件和文件夹 */ public class ListFilesDemo { public static void m ...
随机推荐
- gradle类重复的问题解决方法
今天遇到一个gradle的类重复问题,学习到一个命令 gradle -q dependencies,可以查看项目里包的依赖关系,发生这个错误是因为我用了一个相册的项目,这个项目里用到了v4包,我自己的 ...
- TP中的四种url访问方式
什么是PATHINFO:就是http://localhost/index.php/Home/Index/index/a/1/b/2?c=3中的红色部分, 注意c=3并不是pathinfo的一部分,它是 ...
- (原创)用Receiver和SystemService监听网络状态,注册Receiver的两种方式
android中网络编程不可避免地要监听网络状态,wifi或者3G以及以太网,并根据当前状态做出相应决策. 在MyReceiver类中的onReceive方法中获得系统服务 ConnectivityM ...
- ubuntu安装skype
1.添加源 sudo add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner&quo ...
- td的title属性
今天才知道html元素td还有一个title属性,就是一个tooltip的东西,即当你把鼠标放在td上面的时候,会弹出一个提示语,这个提示语就是td的title. 把td的文本赋值给title: ht ...
- Java Statement和PreparedStatement性能测试(转)
本文转载自http://blog.csdn.net/liubo5005/article/details/7239935 先上代码: import java.sql.Connection; import ...
- close与shutdown函数
linux网络编程之socket(十):shutdown 与 close 函数的区别 http://blog.csdn.net/yijiu0711/article/details/17349169 ...
- poj 1789
http://poj.org/problem?id=1789 这是一道图论的题,个人觉得和那个POJ1258是差不多的,就是多了一步,题目难以读懂 题目的意思:就是给你一群字符串要你找字符串对应的字符 ...
- VIM基础
http://www.cnblogs.com/wawlian/archive/2012/05/22/2512801.html http://www.cnblogs.com/wawlian/archiv ...
- ios Tabbar Item 的图标
1,tabBarItem图片的推荐尺寸和最大支持尺寸 下面是标签栏(UITabBar)中tab按钮图标分别在1x.2x.3x下不会压缩变形的尺寸: @1x : 推荐 25 x 25 (最大: 48 ...