zoukankan      html  css  js  c++  java
  • File & Directory

    新开一节IO(Input/Output)的用法。

        这节主要讲一下操作文件和文件目录的两个静态类:File 和 Directory。    

        在进入正题之前,先理解一下相对路径和绝对路径这两个概念:

        绝对路径,是指从盘符开始的路径,如:C:/user/desktop

        相对路径,是指相对于当前目录的路径访问形式,“ . ”代表当前目录(不加点的话,默认访问当前目录),“ .. ”代表上一级目录,如果我们要访问当前目录的名为demo.txt的文件,可以这样写:./demo.txt,或者访问上一级的demo.txt文件:../demo.txt,相对路径的好处是不容易出现路径失效的问题。使用绝对路径,如果盘符更改后,原来指定旧盘符的路径都会失效,而相对路径因为不涉及盘符,则不会出现这种问题。   

       File

         File类是操作文件的一个静态类,可以实现对文件的创建,复制,移动等操作。下面通过例子来演示下常用的操作:

        创建文件:

    File.Create("demo.txt");
    if(File.Exists("demo.txt"))
       Console.WriteLine("demo.txt文件已创建");

       运行结果为:demo.txt文件已创建

        在当前运行目录的文件夹下也可以看到该文件已被创建:

     复制和移动文件:

        这两个方法的用法是一样的,只不过一个是复制,源文件还在,一个是移动,源文件不在:

    File.Copy("demo.txt","demo1.txt");//复制
    File.Move("demo1.txt","demo1.txt");//移动

     这两个方法的参数都是源文件路径,目标路径。不过要注意,不能与目标路径中的文件重名,windows下不允许重名文件。

        打开文件:

        使用Open()方法打开一个文件,该方法返回FileStream类的对象,可以对文件进行数据操作,本节不讲文件读写,请读者关注下一节。

        删除文件:

    File.Delete("demo.txt");

    删除文件时,如果文件不存在,不会报错

       Directory

       创建目录:

    Directory.CreateDirectory("Test");

        使用CreateDirectory()方法创建一个目录,运行完毕后可以在运行目录下找到新建的目录:

     移动和删除:

        目录类没有复制方法,只有移动和删除方法,同样的也是使用Delete()和Move()方法,此处不再演示。

        获取子目录和子文件:

        为了演示,我现在Test目录下新建几个目录和文件:

     使用GetDirectories()方法获取某路径下的目录:

    var dirs = Directory.GetDirectories("Test");
    foreach (var dir in dirs){
      Console.WriteLine(dir);
    }

        运行结果:

      使用GetFiles()获取某目录下的文件:

    var dirs = Directory.GetFiles("Test");

    使用GetFileSystemEntries()方法可以将目录下的目录和文件都获取到,用法同上,此处不再演示。

        更多方法请读者查阅相关文档,用法都很简单。

    这是我的公众号二维码,获取最新文章,请关注此号

  • 相关阅读:
    python学习-基础-day5-文件操作和函数
    (转) 什么是立即执行函数?有什么作用?
    AngularJS 从DOM中获取scope
    AngularJS中Directive指令系列
    AngularJS中Directive指令系列
    angularJS ng-repeat中的directive 动态加载template
    (转) 前端面试之js相关问题(一)
    ES6 localStorage 类库
    underscore.js 源码分析5 基础函数和each函数的使用
    记录使用jQuery和Python抓取采集数据的一个实例
  • 原文地址:https://www.cnblogs.com/charlesmvp/p/13564231.html
Copyright © 2011-2022 走看看