File、Directory、Path

https://blog.csdn.net/xiaouncle/article/details/52050577

File、Directory、Path是实际开发中应用频率比较高的类,程序对电脑的简单操作基本可以概括为对文件、目录、路径的操作,下面讲解主要用法:

File的用法
string filePath=@"d:\Instrument\guitar.txt";
string destinationFilePath=@"d:\Favorite\guitar.txt";
string moveFilePath=@"d:\Garbage\guitar.txt";
if (File.Exists(filePath))
{
Console.WriteLine("存在文件" + filePath);
}
else
{
//Create时,文件夹d:\Instrument必须存在,否则会报错
File.Create(filePath);
}
//Copy时,文件夹d:\Favorite必须存在,否则会报错
File.Copy(filePath, destinationFilePath, true);
//Move时,文件夹d:\Garbage必须存在,否则会报错
//Move时,如果moveFilePath值为d:\Garbage,
//那会创建一个名为Garbage的文件(没有后缀名)
File.Move(filePath, moveFilePath);
//Delete时没有目标文件不会报错
File.Delete(moveFilePath);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Directory的用法
string directory=@"d:\Food\Meat";
string sourceDirName=@"d:\Music\Beyond";
string destDirName=@"d:\07\FavoriteMusic";
if (Directory.Exists(directory))
{
Console.WriteLine("目录" + directory + "存在");
}
else
{
//无论目录D:\Food是否存在,D:\Food\Meat都能成功创建
Directory.CreateDirectory(directory);
}
//Move指的是把D:\Music中的Beyond文件夹,移动到D:\07文件夹中,
//然后重命名为FavoriteMusic
//D:\07文件夹必须存在否则会报错
//如果D:\07中已经存在名为FavoriteMusic的文件夹那程序会报错
//Beyond文件夹中的文件或子目录在移动过后还会保持原样
//Move不能跨盘符移动
Directory.Move(sourceDirName, destDirName);

//只能删除空目录,包含文件或子目录都无法删除
Directory.Delete(@"d:\test");
//删除目录,及其文件和子目录
Directory.Delete(@"d:\test",true);

//搜索"e:\学习"目录下的所有txt文件,不搜索子目录
string[] files = Directory.GetFiles(@"e:\学习", "*.txt", SearchOption.TopDirectoryOnly);
//搜索"e:\学习"目录下的所有文件,搜索子目录
string[] allFiles = Directory.GetFiles(@"e:\学习", "*", SearchOption.AllDirectories);
//后边的两个参数可以不填,默认搜索顶层目录的所有文件
string[] normalFiles = Directory.GetFiles(@"e:\学习");

//搜索"e:\学习"目录下的所有名字中包含“课”的文件夹,不搜索子目录
string[] directories = Directory.GetDirectories(@"e:\学习", "*课*", SearchOption.TopDirectoryOnly);
//搜索"e:\学习"目录下的所有名字中包含“课”的文件夹,搜索子目录
string[] allDirectories = Directory.GetDirectories(@"e:\学习", "*", SearchOption.AllDirectories);
//后边的两个参数可以不填,默认搜索顶层目录的所有文件夹
string[] normalDirectories = Directory.GetDirectories(@"e:\学习");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Path的用法
string path = @"d:\Entertainment\Music\在雨中.mp3";
//fullPath==@"d:\Name\guoguo"
string fullPath = Path.Combine(@"d:\Name", "guoguo");
//root==@"d:\"
string root = Path.GetPathRoot(path);
//@"d:\Entertainment\Music"
string directoryName = Path.GetDirectoryName(path);
//fileName="在雨中.mp3"
string fileName = Path.GetFileName(path);
//fileNameWithoutExtension="在雨中"
string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(path);
//extension=".mp3"
string extension = Path.GetExtension(path);
//newPath=@"d:\Entertainment\Music\在雨中.avi"
//path的值不会改变
string newPath = Path.ChangeExtension(path, "avi");
//GetFullPath获取的是当前可执行程序的路径
//myFullPath=@"E:\Projects\20160725Share\20160725Share\bin\Debug\Data\text.txt"
string myFullPath = Path.GetFullPath(@"Data\text.txt");
---------------------
作者:changuncle
来源:CSDN
原文:https://blog.csdn.net/xiaouncle/article/details/52050577
版权声明:本文为博主原创文章,转载请附上博文链接!

最新文章

  1. 在虚拟机中安装CentOS
  2. [LintCode] Intersection of Two Linked Lists 求两个链表的交点
  3. 两种JavaScript的AES加密方式(可与Java相互加解密)
  4. 判断iframe是否加载完成的完美方法
  5. ReactiveCocoa框架学习<一>
  6. Flex Viewer
  7. emacs下安装pip
  8. JavaScript中的test()方法
  9. Struts2结合sitemesh3制作网站母版页面
  10. CI框架大纲总结
  11. CentOS安装JDK7
  12. poj2443(简单的状态压缩)
  13. Python笔记·第九章—— 函数 (一)
  14. Swift UIFont
  15. Hdu 1022 Train Problem I 栈
  16. Square Destroyer-POJ 1084 (IDA*)
  17. layui-tree创建下拉树型选项框
  18. 【CSS3】响应式布局
  19. 给定两个数组,这两个数组是排序好的,让你求这两个数组合到一起之后第K大的数。
  20. iOS 代码调试

热门文章

  1. Codeforces C - String Reconstruction
  2. C#异常信息获取
  3. 20161227xlVBA多文件合并计算
  4. 3-20 标准库:find库; 学习编程语言3节课(大多是旧识,全*栈)3-21 面向对象. Percent Strings; 元编程和Rails的相互理解
  5. ubuntu下php无法载入mysql扩展
  6. Android之MVC模式的使用
  7. JVM自定义类加载器加载指定classPath下的所有class及jar
  8. 利用nodeJs anywhere搭建本地服务器环境
  9. Java容器涉及的类(代码)
  10. OC description和sel