知识大全 利用.NET Directory类轻松进行目录管理

Posted 目录

篇首语:学而不思则罔,思而不学则殆。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 利用.NET Directory类轻松进行目录管理相关的知识,希望对你有一定的参考价值。

利用.NET Directory类轻松进行目录管理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

我们将为大家介绍利用Directory类处理路径中的目录部分 该类位于System IO 命名空间 Directory类为我们提供了访问目录的方法

  类浏览

  微软文档中说 Directory类提供了在目录和子目录中进行创建移动和列举操作的静态方法 此外 你还可以访问和操作各种各样的目录属性 例如创建或最后一次修改时间以及Windows访问控制列表等

  Directory类的一个重要方面是它的方法都是静态的 这意味着你可以直接调用它们而不用创建该类的一个实例 让我们从基本的方面开始Directory类之旅 包括创建 删除和移动目录

  基本方法

  Directory类提供了各种目录处理的静态方法 这些静态方法对所有方法都执行安全性检查 我们将会介绍其中的大部分方法 第一组有目录处理的基本方法组成

  ·CreateDirectory 可以用来创建目录或子目录 同时 还可以通过创建属性建立目录安全性检查

  ·Delete 可以用来删除系统中指定的空目录 如果路径参数所指定的目录中包含文件或子目录 该方法将会抛出IOExceptin异常

  ·Exists 可以此方法检测一个指定的路径是否存在 路径参数可以指定相对或绝对路径信息 相对路径信息解释为相对当前工作目录

  ·Move 可用该方法移动文件或目录到一个新位置 它有两个参数 移动的文件或目录以及目的位置

  列表A中的C# Windows控制台应用程序使用这些方法来创建 移动和删除目录 整个代码中还使用了Exists方法来检查某个目录是否存在 所有对Directory类中方法的调用都封装在try/catch语句块中 代码从位于C盘的test目录开始 使用Path类来检测包含目录名的字符串中是否有文件扩展名 如果包含文件扩展名那么判断该字符串为一个文件路径 而不是目录程序终止 否则如果目录不存在那么将会创建该目录 接下来重命名目录为techrepublic 最后删除该目录 (列表B包含了用VB NET实现的相同功能的代码)

  目录和它们的内容

  一旦目录创建 通常我们需要详细了解它的内容或检查该目录 Directory类使得通过各种方法和属性访问目录信息和它的内容变得十分简单 下面的列表中列出了这些方法

  ·GetCurrentDirectory 返回应用程序的当前工作目录

  ·GetDirectories 返回指定目录的所有子目录列表 并用字符串数组存储

  ·GetDirectoryRoot 对指定的路径返回磁盘信息 更目录信息或两者都有

  ·GetFiles 返回指定目录范围内的所有文件名 存储在字符串数组中

  ·GetFileSystemEntries 返回指定哪个目录范围内的文件名和目录 并存储在字符串数组中

  ·GetParent 以字符串值返回指定路径的父目录 包括绝对路径和相对路径

  ·GetLogicalDrives 以<盘符>:的形式返回字符串数组中计算机上的逻辑盘符

  列表C中的c#代码演示了这些方法的使用方法 基本上 该示例显示了有关当前应用目录 所有子目录和文件 根目录和当前系统上的所有逻辑盘符的所有信息 列表D包含了用VB NET实现相同功能的代码

  日期和时间戳

  通常 知道目录何时创建以及最后一次访问或修改时间是非常有用的 Directory类提供了处理日期和时间戳的方法 如下所示

  ·GetCreationTime 获得目录创建的日期时间

  ·GetLastAccessTime 返回指定文件或目录最后一次访问的日期时间

  ·GetLastWriteTime 返回指定文件或目录最后一次写入的日期时间

  ·SetCreationTime 设置指定文件或目录的创建日期和时间

  ·SetLastAccessTime 设置指定文件或目录上次访问日期和时间

  ·SetLastWriteTime 设置上次写入目录的日期和时间

  列表E中的C#代码列出了C盘中所有目录最后一次访问 修改和最初创建的日期和时间 并把每个目录的最后一次访问时间设置为当前日期和时间 列表F包含了VB NET实现的相同功能的代码

  系统的其它方面

  文件处理通常要访问目录并对其进行相关操作 System IO命名空间的Directory类提供了创建和处理目录以及它的内容的所有功能 利用它我们确定文件何时被创建和最后一次访问时间等

  而且 系统管理员工作的一个重要方面是通过目录访问控制对系统资源的访问 下周 我们将介绍如何通过Directory类处理目录安全性问题

  列表A

  

  using System;using System Collections Generic;using System Text;using System IO;namespace TRDirectory class Program static void Main(string[] args) string testPath = c:test ;if (Path HasExtension(testPath)) Console WriteLine( This is a file path not a directory ); else if (Directory Exists(testPath)) Console WriteLine( This directory already exists ); else try Directory CreateDirectory(testPath); catch (IOException ex) Console WriteLine( Error creating directory  testPath ex Message ToString()); if (Directory Exists(testPath)) try Directory Move(testPath c:techrepublic ); catch (IOException ex) Console WriteLine( Error moving directory  testPath ex Message ToString()); if (Directory Exists( c:techrepublic )) try Directory Delete( c:techrepublic true); catch (IOException ex) Console WriteLine( Error deleting directory c:techrepublic ex Message ToString());  

  列表B

   Imports System IOModule Module Sub Main()Dim testPath As StringtestPath = c:test If (Path HasExtension(testPath)) ThenConsole WriteLine( This is a file path not a directory )ElseIf (Directory Exists(testPath)) ThenConsole WriteLine( This directory already exists )ElseTryDirectory CreateDirectory(testPath)Catch ex As IOExceptionConsole WriteLine( Error creating directory testPath ex Message ToString())End TryIf (Directory Exists(testPath)) ThenTryDirectory Move(testPath c:techrepublic )Catch ex As IOExceptionConsole WriteLine( Error moving directory testPath ex Message ToString())End TryEnd IfIf (Directory Exists( c:techrepublic )) ThenTryDirectory Delete( c:techrepublic True)Catch ex As IOExceptionConsole WriteLine( Error deleting directory c:techrepublic ex Message ToString())End TryEnd IfEnd IfEnd IfEnd SubEnd Module 

  列表C

   using System;using System Collections Generic;using System Text;using System IO;namespace TRDirectory class Program static void Main(string[] args) string curDir;inti;try curDir = Directory GetCurrentDirectory();Console WriteLine( Current application directory: + curDir);subDirs = Directory GetDirectories(curDir);for (i = ; i <= subDirs GetUpperBound( ); i++) Console WriteLine( Subdirectory: + subDirs[i]);Console WriteLine( Root info: + Directory GetDirectoryRoot(Directory GetCurrentDirectory()));for (i = ; i <= Directory GetFileSystemEntries(curDir) GetUpperBound( ); i++)Console WriteLine( System entries: + Directory GetFileSystemEntries(curDir)[i]);for (i = ; i <= Directory GetLogicalDrives() GetUpperBound( ); i++) Console WriteLine( Logical drives: + Directory GetLogicalDrives()[i]); catch (IOException e) Console WriteLine( Exception e Message ToString());  

  列表D

   using System;using System Collections Generic;using System Text;using System IO;namespace TRDirectory class Program static void Main(string[] args) string[] subDirs;inti;DateTimedtCreated;DateTimedtAccessed;DateTimedtWrite;try subDirs = Directory GetDirectories( c: );for (i = ; i <= subDirs GetUpperBound( ); i++) dtCreated = Directory GetCreationTime(subDirs[i]);dtAccessed = Directory GetLastAccessTime(subDirs[i]);dtWrite = Directory GetLastWriteTime(subDirs[i]);Console WriteLine( Subdirectory subDirs[i]);Console WriteLine( Created: dtCreated ToString());Console WriteLine( Last accessed: dtAccessed ToString());Console WriteLine( Last changed: dtWrite ToString());Directory SetLastAccessTime(subDirs[i] DateTime Now); catch (IOException e) Console WriteLine( Exception e Message ToString());  

  列表E

   using System;using System Collections Generic;using System Text;using System IO;namespace TRDirectory class Program static void Main(string[] args) string[] subDirs;inti;DateTimedtCreated;DateTimedtAccessed;DateTimedtWrite;try subDirs = Directory GetDirectories( c: );for (i = ; i <= subDirs GetUpperBound( ); i++) dtCreated = Directory GetCreationTime(subDirs[i]);dtAccessed = Directory GetLastAccessTime(subDirs[i]);dtWrite = Directory GetLastWriteTime(subDirs[i]);Console WriteLine( Subdirectory subDirs[i]);Console WriteLine( Created: dtCreated ToString());Console WriteLine( Last accessed: dtAccessed ToString());Console WriteLine( Last changed: dtWrite ToString());Directory SetLastAccessTime(subDirs[i] DateTime Now); catch (IOException e) Console WriteLine( Exception e Message ToString());  

  列表F

cha138/Article/program/net/201311/12562

相关参考

知识大全 VB.NET拷贝整个目录下所有子目录及文件的实例代码

VB.NET拷贝整个目录下所有子目录及文件的实例代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 漫谈.Net开发关于命名空间和目录划分

漫谈.Net开发关于命名空间和目录划分  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 Asp.net获取当前目录的方法小结

Asp.net获取当前目录的方法小结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!有时候可能出现找

知识大全 关于ASP.NET 2.0的目录结构变化

关于ASP.NET2.0的目录结构变化  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我在开发中

知识大全 .Net中如何操作IIS的虚拟目录原理分析

.Net中如何操作IIS的虚拟目录原理分析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 ASP.NET入门教程 13.2 产品目录

ASP.NET入门教程13.2产品目录  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 ASP.NET入门教程 13.2.2 目录的设计

ASP.NET入门教程13.2.2目录的设计  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs

知识大全 ASP.NET入门教程 13.2.1目录的结构

ASP.NET入门教程13.2.1目录的结构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs

知识大全 ASP.NET入门教程 1.7.4 示例代码目录[2]

ASP.NET入门教程1.7.4示例代码目录[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&

知识大全 ASP.NET入门教程 1.7.4 示例代码目录[1]

ASP.NET入门教程1.7.4示例代码目录[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&