您现在的位置是:首页 >

aspnet项目开发教程 ASP.NET设计网络硬盘之两个重要类

火烧 2023-01-30 03:54:14 1056
ASP.NET设计网络硬盘之两个重要类   要进行 网络硬盘 功能设计 首先要熟悉 NET中处理文件和文件夹的操作 File类和Directory类是其中最主要的两个类 了解它们将对后面功能的实现提供
aspnet项目开发教程 ASP.NET设计网络硬盘之两个重要类

ASP.NET设计网络硬盘之两个重要类  

  要进行 网络硬盘 功能设计 首先要熟悉 NET中处理文件和文件夹的操作 File类和Directory类是其中最主要的两个类 了解它们将对后面功能的实现提供很大的便利     System IO File类和System IO FileInfo类    在设计和实现 网络硬盘 的过程中 将大量地使用和文件系统操作相关的内容 故本节先对和文件系统相关的两个 NET类进行简要介绍     System IO File类和System IO FileInfo类主要提供有关文件的各种操作 在使用时需要引用System IO命名空间 下面通过程序实例来介绍其主要属性和方法     ( ) 文件打开方法 File Open    该方法的声明如下     public static FileStream Open(string path FileMode mode)    下面的代码打开存放在c:tempuploads目录下名称为newFile txt文件 并在该文件中写入hello     private void OpenFile()  {  FileStream TextFile=File Open(@ c:tempuploadsnewFile txt FileMode Append);  byte [] Info = {(byte) h (byte) e (byte) l (byte) l (byte) o };  TextFile Write(Info Info Length);  TextFile Close();  }    ( ) 文件创建方法 File Create    该方法的声明如下     public static FileStream Create(string path;)    下面的代码演示如何在c:tempuploads下创建名为newFile txt的文件     由于File Create方法默认向所有用户授予对新文件的完全读/写访问权限 所以文件是用读/写访问权限打开的 必须关闭后才能由其他应用程序打开 为此 所以需要使用FileStream类的Close方法将所创建的文件关闭     private void MakeFile()  {  FileStream NewText=File Create(@ c:tempuploadsnewFile txt );  NewText Close();  }    ( ) 文件删除方法 File Delete    该方法声明如下     public static void Delete(string path);    下面的代码演示如何删除c:tempuploads目录下的newFile txt文件     private void DeleteFile()  {  File Delete(@ c:tempuploadsnewFile txt );  }    ( ) 文件复制方法 File Copy    该方法声明如下     public static void Copy(string sourceFileName string destFileName bool overwrite);    下面的代码将c:tempuploadsnewFile txt复制到c:tempuploadsBackUp txt     由于Cope方法的OverWrite参数设为true 所以如果BackUp txt文件已存在的话 将会被复制过去的文件所覆蓋     private void CopyFile()  {  File Copy(@ c:tempuploadsnewFile txt @ c:tempuploadsBackUp txt true);  }    ( ) 文件移动方法 File Move    该方法声明如下     public static void Move(string sourceFileName string destFileName);    下面的代码可以将c:tempuploads下的BackUp txt文件移动到c盘根目录下     注意     只能在同一个逻辑盘下进行文件转移 如果试图将c盘下的文件转移到d盘 将发生错误     private void MoveFile()  {  File Move(@ c:tempuploadsBackUp txt @ c:BackUp txt );  }    ( ) 设置文件属性方法 File SetAttributes    该方法声明如下     public static void SetAttributes(string path FileAttributes fileAttributes);    下面的代码可以设置文件c:tempuploadsnewFile txt的属性为只读 隐藏     private void SetFile()  {  File SetAttributes(@ c:tempuploadsnewFile txt   FileAttributes ReadOnly|FileAttributes Hidden);  }    文件除了常用的只读和隐藏属性外 还有Archive(文件存档状态) System(系统文件) Temporary(临时文件)等 关于文件属性的详细情况请参看MSDN中FileAttributes的描述     ( ) 判断文件是否存在的方法 File Exist    该方法声明如下     public static bool Exists(string path);    下面的代码判断是否存在c:tempuploadsnewFile txt文件 若存在 先复制该文件 然后其删除 最后将复制的文件移动 若不存在 则先创建该文件 然后打开该文件并进行写入操作 最后将文件属性设为只读 隐藏     if(File Exists(@ c:tempuploadsnewFile txt )) //判断文件是否存在  {  CopyFile(); //复制文件  DeleteFile(); //删除文件  MoveFile(); //移动文件  }  else  {  MakeFile(); //生成文件  OpenFile(); //打开文件  SetFile(); //设置文件属性  }    此外 File类对于Text文本提供了更多的支持     · AppendText 将文本追加到现有文件    · CreateText 为写入文本创建或打开新文件    · OpenText 打开现有文本文件以进行读取    但上述方法主要对UTF 的编码文本进行操作 从而显得不够灵活 在这里推荐读者使用下面的代码对txt文件进行操作     · 对txt文件进行 读 操作 示例代码如下     StreamReader TxtReader = new StreamReader(@ c:tempuploadsnewFile txt System Text Encoding Default);  string FileContent;  FileContent = TxtReader ReadEnd();  TxtReader Close();    · 对txt文件进行 写 操作 示例代码如下     StreamWriter = new StreamWrite(@ c:tempuploadsnewFile txt System Text Encoding Default);  string FileContent;  TxtWriter Write(FileContent);  TxtWriter Close();    System IO Directory类和System DirectoryInfo类    主要提供关于目录的各种操作 使用时需要引用System IO命名空间 下面通过程序实例来介绍其主要属性和方法     ( ) 目录创建方法 Directory CreateDirectory    该方法声明如下     public static DirectoryInfo CreateDirectory(string path);    下面的代码演示在c:tempuploads文件夹下创建名为NewDirectory的目录     private void MakeDirectory()  {  Directory CreateDirectory(@ c:tempuploadsNewDirectoty );  }    ( ) 目录属性设置方法 DirectoryInfo Atttributes    下面的代码设置c:tempuploadsNewDirectory目录为只读 隐藏 与文件属性相同 目录属性也是使用FileAttributes来进行设置的     private void SetDirectory()  {  DirectoryInfo NewDirInfo = new DirectoryInfo(@ c:tempuploadsNewDirectoty );  NewDirInfo Atttributes = FileAttributes ReadOnly|FileAttributes Hidden;  }    ( ) 目录删除方法 Directory Delete    该方法声明如下     public static void Delete(string path bool recursive);    下面的代码可以将c:tempuploadsBackUp目录删除 Delete方法的第二个参数为bool类型 它可以决定是否删除非空目录 如果该参数值为true 将删除整个目录 即使该目录下有文件或子目录 若为false 则仅当目录为空时才可删除     private void DeleteDirectory()  {  Directory Delete(@ c:tempuploadsBackUp true);  }    ( ) 目录移动方法 Directory Move    该方法声明如下     public static void Move(string sourceDirName string destDirName);    下面的代码将目录c:tempuploadsNewDirectory移动到c:tempuploadsBackUp     private void MoveDirectory()  {  File Move(@ c:tempuploadsNewDirectory @ c:tempuploadsBackUp );  }    ( ) 获取当前目录下的所有子目录方法 Directory GetDirectories    该方法声明如下     public static string[] GetDirectories(string path;);    下面的代码读出c:tempuploads目录下的所有子目录 并将其存储到字符串数组中     private void GetDirectory()  {  string [] Directorys;  Directorys = Directory GetDirectories (@ c:tempuploads );  }    ( ) 获取当前目录下的所有文件方法 Directory GetFiles    该方法声明如下     public static string[] GetFiles(string path;);    下面的代码读出c:tempuploads目录下的所有文件 并将其存储到字符串数组中     private void GetFile()  {  string [] Files;  Files = Directory GetFiles (@ c:tempuploads );  }    ( ) 判断目录是否存在方法 Directory Exist    该方法声明如下     public static bool Exists(  string path;  );    下面的代码判断是否存在c:tempuploadsNewDirectory目录 若存在 先获取该目录 lishixinzhi/Article/program/net/201311/12619  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码