zoukankan      html  css  js  c++  java
  • C#文件操作

    本文的内容包括:

    1,文件基本操作:搜索,创建,复制,剪切,删除,重命名。

    2,File和FileInfo

    3,搜索:文件名和子目录

    4,复制的方法:File和FileInfo

    5,剪切:同盘和不同盘

    6,重命名:利用FileInfo.MoveTo实现重命名。

    7,删除:到回收站和彻底删除。

    8,多线程时遇到的问题,以及解决办法。

          文件的基本操作包括搜索,创建,复制,剪切,删除,重命名等。在C#中可以使用File的一系列静态方法,也可以是FileInfo对象的方法来达到同样的功能。关于File和FileInfo的概念就不多说了,到处都有,当然官方的是最权威的。这里重点介绍每个操作的一些注意点。

    搜索

    搜索文件可以用Directory.GetFiles方法,

    public static string[] GetFiles ( string path, string searchPattern, SearchOption searchOption )

    path:在哪个路径下搜索。

    searchPattern:搜索的文件特征是什么。如果是jpg文件,则是”*.jpg”。

    SearchOption:AllDirectories和TopDirectoryOnly之一。AllDirectories表示在搜索操作中包括当前目录和所有子目录。TopDirectoryOnly表示仅在搜索中包括当前目录。

    也可以使用DirectoryInfo对象的方法来达到同样的功能。

    复制

    复制文件使用File.Copy()或FileInfo.CopyTo().

    剪切

    剪切文件使用File.Move()或FileInfo.MoveTo()。

    需要说明的是,如果在同一个逻辑磁盘进行剪切操作,实际上只是将文件的索引进行了更改,而文件实际存储的磁盘物理位置并没有发生变化。

    重命名

    可以通过File.Move()或者FileInfo的MoveTo (string destFileName)来实现,destFileName就是新的文件名。同一目录下的重命名,也可以实现。

    删除

    删除文件使用FIle.Delete()或者FileInfo.Delete()。这个方法是将文件从磁盘直接删除,有没有选项是删除到回收站呢?

    多线程下的文件操作

    如果多个线程同时操作一个文件,会出现类似“文件正被另一进程占用”的异常。此时应严格隔离线程间对文件占用的冲突。

  • 相关阅读:
    用户态和内核态
    04 _ 如何利用事务消息实现分布式事务?
    03 _ 消息模型:主题和队列有什么区别
    01 _ 为什么需要消息队列?
    洛谷P2257 YY的GCD
    HDU2669 Romantic (扩展欧几里德)
    CQOI2015 选数
    A. Pride
    测试开发进阶——python-java——appium003——Desired Capabilities —— 自动化常用方法——面试整理
    HDU 5050
  • 原文地址:https://www.cnblogs.com/hantianwei/p/1997656.html
Copyright © 2011-2022 走看看