关于IO简介

.NET中的IO操作,经常需要调用一下几个类。

1.FileStream类       

文件流类,负责大文件的拷贝,读写。

2.Path类                  

Path类中方法,基本都是对字符串(文件名)的操作,与实际文件没多大关系。

3.File类           

      File类可以进行一些对小文件拷贝、剪切操作,还能读一些文档文件。

4.Dirctory            

      目录操作,创建文件、删除目录,获取目录下文件名等等。

Path类

1.ChangeExtension(path,".jpg")

改变文件后缀名!

2.Combine(s1,s2)

将两个路径连起来

3.获取文件名的几个方法

1)Path.GetFileName(s1);   //获取路径中的文件名

2)Path.GetFileNameWithoutExtension(s1);   //获取文件名,不包括后缀名!

3)Path.GetDirectoryName(s1)//获取路径中的目录不包括文件名。

4)Path.GetExtension(s1);  //只获取扩展名

4.GetFullPath("")

获取完整路径,根据相对路径获得绝对路径。

5.临时目录

1)GetTempPath()     //获取当前用户的临时目录

2)GetTempFileName()    //获取一个随机的文件名,并在临时目录下创建这个文件。

3)GetRandomFileName()   //仅获取一个随机文件名。

Directory类

1.创建目录

Directory.CreateDirectory(@"目录");

2.判断某个目录是否存在某文件

string path =@"路径";

if(Directory.Exists(path))

{

}

3.删除目录

1)Directory.Delete(path); //删除空目录  ,目录下没有文件了。

2)Directory.Delete(path,true); //不管空不空,都删!

3)如果没有目录就会报异常,最好用if(Directory.Exists(path))判断一下。

4.移动文件目录

重命名目录也用这个来做。

Directory.Move(@"c:\a",@"c:\abc");

5.DirectoryInfo

可以把文件夹当作对象来使用

DirectoryInfo dirInfo = new DirectoryInfo(@"path");

6.获取当前目录下的所有直接子目录 和 直接子文件

//获取目录下的直接子目录

String[] dirs =Direcotory.GetDirectories(@"目录");

//获取目录下的直接子文件

String[] files =Directory.GetFiles(@"目录");

7.获取当前目录下的目录和文件  另一种方式

//获取目录下的直接子目录

//String[] dirs =Direcotory.GetDirectories(@"目录");

//获取目录下的直接子文件

//String[] files =Directory.GetFiles(@"目录");

//—————————以上是6中的做法,他有一定性能上的问题。什么问题呢?—————————————

使用String[] dirs =Direcotory.GetDirectories(@"目录");是必须要等获取了整个string之后,才能遍历这个集合。

如果希望,读到一条处理一条。

建议使用Directory.EnumerateFile()

1)EnumerateFile返回的是一个实现了IEnumerable接口的集合。实际上使用了迭代器模式。

2)SearchOption.ALLDirctories参数,会让.EnumerateFile()遍历所有子目录下的文件。

File类

1.拷贝

File.Copy("Source"," Target",true);

2.判断是否存在

File.Exists(@"Source") ;

3.剪切

File.Move("Source","Targe");

4.创建

File.Create("path");

5.删除

File.Delete("path"); //删除,若没有,不报错!

6.读操作

1)File.ReadAllLines("path",Encoding.Default);   //返回一个string[]

2)File.ReadAllTest("path",Encoding.Default);    //string

3)File.ReadAllBytes("path");

7.写操作

1)File.WriteAllLines("path",new string[4],Encoding.Default);//按行写入一个文件中。

2)File.WriteAllText("path","string");

3)File.WriteAllBytes("path",new byte[4]);

4)File.AppendAllText();   //将string追加到文件中。

8.返回FileStream的快捷方式

1)File.Open(string,FileMode);   //返回一个FileStream

2)File.OpenRead(string,FileMode);  //返回一个只读的 FileStream

3)File.OpenWrite(string,FileMode);  //返回一个只写的 FileStream

转载于:https://www.cnblogs.com/mcad/p/4203550.html

.NET中的IO操作基础介绍相关推荐

  1. mysql中的操作指令,MySQL中常用指令操作的介绍(代码示例)

    本篇文章给大家带来的内容是关于MySQL中常用指令操作的介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. l 创建数据库:CREATE DATABASE table_n ...

  2. 【FME】FME中转换器及参数基础介绍

    FME中转换器及参数基础介绍 转换器介绍 FME常用转换器 FME参数 数据的扇出 示例数据:目前有一份行政区划的数据,现要按照行政区的名称,进行多种组织形式的数据扇出. (1)将数据按图层扇出后存放 ...

  3. java中的IO操作总结

    java中的IO操作 在java中IO涉及的范围比较大,本文主要针对文件内容的读写 对于文件内容的操作主要分为两大类: 字符流:有两个抽象类 writer Reader 其对应子类FileWriter ...

  4. java中的IO操作之File类

    Java的集合框架:  类和接口存在于java.util包中. Java的IO:               类和接口存在于java.io包中. 学习方法:  文档在手,天下我有! --------- ...

  5. java中的IO操作总结(一)

    转载:http://www.cnblogs.com/nerxious/archive/2012/12/15/2818848.html    所谓IO,也就是Input与Output的缩写.在java中 ...

  6. Qt 笔记:Qt中的IO操作

    Qt中IO操作的处理方式 -Qt通过统一的接口简化了文件与外部设备的操作方式 -Qt中的文件被看做一种特殊的外部设备 -Qt中的文件操作与外部设备的操作相同 IO操作中的关键函数接口 -打开设备:bo ...

  7. php中文件操作函数,php中常用文件操作函数介绍

    小编今天来给php初学者介绍php文件操作的常用函数使用方法总结,包括:文件读写,创建,查看文件属性,文件删除等等关于文件的操作. 在对一个文件进行访问之前,一般我们都需要判断文件是否存在,以免调用了 ...

  8. .NET中的IO操作之文件流

    读操作 //1.创建文件流 FileStream fsRead =new FileStream("1.txt",FileMode.Open); //2.创建缓冲区,正常情况下,是不 ...

  9. python中io中的+模式_Python的高级特性,模块和IO操作

    今天我们学习Python的高级特性.模块和IO操作,通过学习这些,我们可以更快的了解Python,使用Python. 高级特性中会讲述列表生成式.生成器.和一些高级函数,学习这些方便我们快速的生成列表 ...

最新文章

  1. 从疫情到求职寒冬,我的算法求职经历
  2. 3D相机D2C对齐的方法
  3. ubuntu下解决Ruby安装后缺少openssl的问题
  4. ubuntu 安装phpstorm
  5. 从考研说起:大学、职场、个人选择
  6. 如何在 C# 8 中使用 Channels
  7. 升级xcode5.1 iOS 6.0后以前的横屏项目 变为了竖屏
  8. 【操作系统】进程与线程
  9. 网页速度很慢优化方案:如何提高网页加载速度,提升网站加载速度
  10. 杨辉三角(完整代码)
  11. 红橙Darren视频笔记 View事件分发源码分析 基于API29
  12. mac remix导入本地项目
  13. paip.提升ASP编程安全性之脚本部件
  14. 设计模式超简单的解释!
  15. 微信iOS WKWebview 网页开发适配指南
  16. miui 9 android pay,小米9多功能NFC再升级,Mi Pay线上支付上线
  17. java json asc排序_按ASCII码给json对象排序
  18. Visual Studio 2013 不小心关掉“解决方案资源管理器”怎么办?
  19. 《Python学习手册》读书笔记
  20. android延迟刷新adapter,Android关于Adapter更新数据问题案例

热门文章

  1. 【JavaScript】【PPT】继承的本质
  2. JOGL - Java与OpenGl的绑定(转)
  3. OpenCV中图像显示窗口函数namedWindow()详解
  4. Sql Server 2005的1433端口打开和进行远程连接
  5. 工厂方法注入(静态和非静态)
  6. linux 自定义目录,linux – cron命令的自定义目录
  7. leetcode算法题--数组中数字出现的次数 II
  8. leetcode算法题--最大整除子集
  9. leetcode算法题--不同的二叉搜索树
  10. F - Tmutarakan Exams URAL - 1091 -莫比乌斯函数-容斥 or DP计数