當前位置:
首頁 >
C#常用的文件操作 (转)
發布時間:2025/3/8
40
豆豆
生活随笔
收集整理的這篇文章主要介紹了
C#常用的文件操作 (转)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C#常用的文件操作
C#常用的文件操作(網上收集)
C#寫入/讀出文本文件,包括創建文件,追加文件,修改文件,等等操作,個人覺得很適用,所以收藏了,和大家分享
{??
???StreamWriter?rw?=?File.CreateText(Server.MapPath(".")+"\\myText.txt");??
???rw.WriteLine("追逐理想");??
???rw.WriteLine("kzlll");??
???rw.WriteLine(".NET筆記");??
???rw.Flush();??
???rw.Close();??
}?
打開文本文件?
StreamReader?sr?=?File.OpenText(Server.MapPath(".")+"\\myText.txt");??
StringBuilder?output?=?new?StringBuilder();??
string?rl;??
while((rl=sr.ReadLine())!=null)??
{??
output.Append(rl+"<br>");??
}??
lblFile.Text?=?output.ToString();??
sr.Close();??
??
?
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;??
????????OrignFile?=?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;??
??????OrignFile?=?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");??
?
遞歸刪除文件夾及文件?
<%@?Page?Language=C#%>??
<%@?Import?namespace="System.IO"%>??
<Script?runat=server>??
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);???????????//調用函數刪除文件夾??
}??
</Script>??
?
?
?
?
?
//?======================================================
??//?實現一個靜態方法將指定文件夾下面的所有內容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;
/**//**//**////?<summary>
??///?拷貝文件夾(包括子文件夾)到指定文件夾下,源文件夾和目標文件夾均需絕對路徑.?格式:?CopyFolder(源文件夾,目標文件夾);
??///?</summary>
??///?<param?name="strFromPath"></param>
??///?<param?name="strToPath"></param>
??//--------------------------------------------------
??//作者:明天去要飯??QQ:305725744
?//---------------------------------------------------
??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);
???}
??}
轉載于:https://www.cnblogs.com/RobotTech/archive/2007/08/21/863585.html
總結
以上是生活随笔為你收集整理的C#常用的文件操作 (转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 公务员计算机考试题库,公务员考试题库
- 下一篇: des加解密java c#,C#编写DE