zoukankan      html  css  js  c++  java
  • .NET中的IO操作基础介绍

    关于IO简介

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

    clipboard[6]
     

    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




  • 相关阅读:
    MCMC算法解析
    深度学习结合SLAM研究总结
    语义SLAM研究现状总结
    Tensorflow--矩阵切片与连接
    faster-rcnn原理讲解
    Tensorflow 大规模数据集训练方法
    SPP-net原理解读
    Batch Normalization原理
    RCNN算法的tensorflow实现
    Tensorflow基本操作理解
  • 原文地址:https://www.cnblogs.com/mcad/p/4203550.html
Copyright © 2011-2022 走看看