C#中常用的經典檔案操作方法
C#追加檔案 StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt"); sw.WriteLine("追逐理想"); sw.WriteLine("kzlll"); sw.WriteLine(".NET筆記"); sw.Flush(); sw.Close(); C#拷貝檔案 string OrignFile,NewFile; rignFile = Server.MapPath(".")+"\\myText.txt"; NewFile = Server.MapPath(".")+"\\myTextCopy.txt"; File.Copy(OrignFile,NewFile,true); C#刪除檔案 string delFile = Server.MapPath(".")+"\\myTextCopy.txt"; File.Delete(delFile); C#移動檔案 string OrignFile,NewFile; rignFile = Server.MapPath(".")+"\\myText.txt"; NewFile = Server.MapPath(".")+"\\myTextCopy.txt"; File.Move(OrignFile,NewFile); C#建立目錄 // 建立目錄c:\sixAge DirectoryInfo d=Directory.CreateDirectory("c:\\sixAge"); // d1指向c:\sixAge\sixAge1 DirectoryInfo d1=d.CreateSubdirectory("sixAge1"); // d2指向c:\sixAge\sixAge1\sixAge1_1 DirectoryInfo d2=d1.CreateSubdirectory("sixAge1_1"); // 將當前目錄設為c:\sixAge Directory.SetCurrentDirectory("c:\\sixAge"); // 建立目錄c:\sixAge\sixAge2 Directory.CreateDirectory("sixAge2"); // 建立目錄c:\sixAge\sixAge2\sixAge2_1 Directory.CreateDirectory("sixAge2\\sixAge2_1"); 遞迴刪除資料夾及檔案 public void DeleteFolder(string dir) { if (Directory.Exists(dir)) //如果存在這個資料夾刪除之 { foreach(string d in Directory.GetFileSystemEntries(dir)) { if(File.Exists(d)) File.Delete(d); //直接刪除其中的檔案 else DeleteFolder(d); //遞迴刪除子資料夾 } Directory.Delete(dir); //刪除已空資料夾 Response.Write(dir+" 資料夾刪除成功"); } else Response.Write(dir+" 該資料夾不存在"); //如果資料夾不存在則提示 } protected void Page_Load (Object sender ,EventArgs e) { string Dir="D:\\gbook\\11"; DeleteFolder(Dir); //呼叫函式刪除資料夾 } // ====================================================== // 實現一個靜態方法將指定資料夾下面的所有內容copy到目標資料夾下面 // 如果目標資料夾為只讀屬性就會報錯。 // April 18April2005 In STU // ====================================================== public static void CopyDir(string srcPath,string aimPath) { try { // 檢查目標目錄是否以目錄分割字元結束如果不是則新增之 if(aimPath[aimPath.Length-1] != Path.DirectorySeparatorChar) aimPath += Path.DirectorySeparatorChar; // 判斷目標目錄是否存在如果不存在則新建之 if(!Directory.Exists(aimPath)) Directory.CreateDirectory(aimPath); // 得到源目錄的檔案列表,該裡面是包含檔案以及目錄路徑的一個陣列 // 如果你指向copy目標檔案下面的檔案而不包含目錄請使用下面的方法 // string[] fileList = Directory.GetFiles(srcPath); string[] fileList = Directory.GetFileSystemEntries(srcPath); // 遍歷所有的檔案和目錄 foreach(string file in fileList) { // 先當作目錄處理如果存在這個目錄就遞迴Copy該目錄下面的檔案 if(Directory.Exists(file)) CopyDir(file,aimPath+Path.GetFileName(file)); // 否則直接Copy檔案 else File.Copy(file,aimPath+Path.GetFileName(file),true); } } catch (Exception e) { MessageBox.Show (e.ToString()); } } // ====================================================== // 實現一個靜態方法將指定資料夾下面的所有內容Detele // 測試的時候要小心操作,刪除之後無法恢復。 // April 18April2005 In STU // ====================================================== public static void DeleteDir(string aimPath) { try { // 檢查目標目錄是否以目錄分割字元結束如果不是則新增之 if(aimPath[aimPath.Length-1] != Path.DirectorySeparatorChar) aimPath += Path.DirectorySeparatorChar; // 得到源目錄的檔案列表,該裡面是包含檔案以及目錄路徑的一個陣列 // 如果你指向Delete目標檔案下面的檔案而不包含目錄請使用下面的方法 // string[] fileList = Directory.GetFiles(aimPath); string[] fileList = Directory.GetFileSystemEntries(aimPath); // 遍歷所有的檔案和目錄 foreach(string file in fileList) { // 先當作目錄處理如果存在這個目錄就遞迴Delete該目錄下面的檔案 if(Directory.Exists(file)) { DeleteDir(aimPath+Path.GetFileName(file)); } // 否則直接Delete檔案 else { File.Delete (aimPath+Path.GetFileName(file)); } } //刪除資料夾 System.IO .Directory .Delete (aimPath,true); } catch (Exception e) { MessageBox.Show (e.ToString()); } } 需要引用名稱空間: using System.IO; public static void CopyFolder(string strFromPath,string strToPath) { //如果原始檔夾不存在,則建立 if (!Directory.Exists(strFromPath)) { Directory.CreateDirectory(strFromPath); } //取得要拷貝的資料夾名 string strFolderName = strFromPath.Substring(strFromPath.LastIndexOf("\\") + 1,strFromPath.Length - strFromPath.LastIndexOf("\\") - 1); //如果目標資料夾中沒有原始檔夾則在目標資料夾中建立原始檔夾 if (!Directory.Exists(strToPath + "\\" + strFolderName)) { Directory.CreateDirectory(strToPath + "\\" + strFolderName); } //建立陣列儲存原始檔夾下的檔名 string[] strFiles = Directory.GetFiles(strFromPath); //迴圈拷貝檔案 for(int i = 0;i < strFiles.Length;i++) { //取得拷貝的檔名,只取檔名,地址截掉。 string strFileName = strFiles[i].Substring(strFiles[i].LastIndexOf("\\") + 1,strFiles[i].Length - strFiles[i].LastIndexOf("\\") - 1); //開始拷貝檔案,true表示覆蓋同名檔案 File.Copy(strFiles[i],strToPath + "\\" + strFolderName + "\\" + strFileName,true); } //建立DirectoryInfo例項 DirectoryInfo dirInfo = new DirectoryInfo(strFromPath); //取得原始檔夾下的所有子資料夾名稱 DirectoryInfo[] ZiPath = dirInfo.GetDirectories(); for (int j = 0;j < ZiPath.Length;j++) { //獲取所有子資料夾名 string strZiPath = strFromPath + "\\" + ZiPath[j].ToString(); //把得到的子資料夾當成新的原始檔夾,從頭開始新一輪的拷貝 CopyFolder(strZiPath,strToPath + "\\" + strFolderName); } } CreateDirectory方法方法的使用方法 using System; using System.IO; class Test { public static void Main() { // Specify the directory you want to manipulate. string path = @"c:\MyDir"; try { // Determine whether the directory exists. if (Directory.Exists(path)) { Console.WriteLine("That path exists already."); return; } // Try to create the directory. DirectoryInfo di = Directory.CreateDirectory(path); Console.WriteLine("The directory was created successfully at {0}.", Directory.GetCreationTime(path)); // Delete the directory. di.Delete(); Console.WriteLine("The directory was deleted successfully."); } catch (Exception e) { Console.WriteLine("The process failed: {0}", e.ToString()); } finally {} } }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-623291/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java NIO 常用的檔案操作方法Java
- C# 讀取EXCEL檔案的三種經典方法C#Excel
- C#檔案操作方法大全C#
- 關於C# 中的Attribute 特性 經典C#
- C# 檔案IO常用類C#
- 經典排序演算法 — C#版本(中)排序演算法C#
- linux常用 經典命令Linux
- JavaScript中對字串常用的操作方法JavaScript字串
- oracle常用經典sql查詢OracleSQL
- python對檔案的操作方法Python
- Javascript中最常用的55個經典技巧JavaScript
- 機器學習 基本概念,常用經典模型機器學習模型
- oracle優化常用經典參考Oracle優化
- oracle常用經典SQL查詢 (轉)OracleSQL
- oracle常用經典SQL查詢(zt)OracleSQL
- C#中獲取Excel檔案中的表名C#Excel
- JavaScript 檔案操作方法詳解JavaScript
- Linux中的一些常用操作方法(轉)Linux
- Javascript中最常用的55個經典技巧(轉)JavaScript
- Javascript中最常用的55個經典技巧 (收藏)JavaScript
- 第七篇:兩個經典的檔案IO程式示例
- git常用命令(史上最經典)Git
- oracle最佳化常用經典參考Oracle
- 專案管理經典箴言專案管理箴言
- 經典排序演算法 — C# 版(上)排序演算法C#
- C# winform中讀寫ini檔案C#ORM
- C#中讀寫INI配置檔案C#
- Oracle 移動資料檔案的操作方法Oracle
- Linux系統中建立檔案常用的方法!Linux
- ABAP程式中檔案Check通常用到的模組
- vue專案中mapboxgl的幾個經典操作程式碼示例Vue
- Java經典常用類總結(必須掌握!)Java
- 幾個常用經典演算法總結演算法
- oracle中cursor的使用經典資料Oracle
- C# 替換文字檔案中的某一行 (要求此檔案存在)C#
- C#網路程式設計經典程式碼C#程式設計
- C#中DataGrid匯出Excel檔案C#Excel
- 分享些專案中經常用到了的小輪子