//======================================================================= //拷贝文件夹,直接覆盖 //======================================================================= private void CopyFolder(string _originalPath, string _targetPath) { //======================================= //检查要拷贝的文件夹是否存在于目标路径中,如果不存 //则创建它 //======================================= //获取要拷贝的文件夹名称 string _originalFolderName = _originalPath.Substring(_originalPath.LastIndexOf("//") + 1, _originalPath.Length - (_originalPath.LastIndexOf("//")+1)); if (!Directory.Exists(_targetPath + "//" + _originalFolderName)) {//如果不存在,则在目标路径中创建该文件夹 Directory.CreateDirectory(_targetPath + "//" + _originalFolderName); } //======================================= //检查要拷贝的文件夹是否存在于目标路径中,如果不存 //则创建它 //======================================= string[] _rootFolderChildNames=null;//存放该文件夹下子文件夹名称的数组 string[] _childFileNames=null;//存放该文件夹下文件名称的数组 try { //获取原路径下的所有子文件夹名称 _rootFolderChildNames = Directory.GetDirectories(_originalPath); } catch (Exception) { } if (_rootFolderChildNames != null && _rootFolderChildNames.Length !=0) {//如果原路径下存在子文件夹,则使用递归 foreach (string _item in _rootFolderChildNames) { CopyFolderB( _item, _targetPath + "//" + _originalFolderName); } } //如果原路径下不存在子文件夹,则检索原路径下的文件 try { _childFileNames = Directory.GetFiles(_originalPath); } catch (Exception) { } if (_childFileNames !=null && _childFileNames.Length !=0) {//如果原路径下存在子文件,则将原路径下所有子文件拷贝到目标路径下 foreach (string _item in _childFileNames) { //获取文件名称 string _itemFileName=_item.Substring (_item.LastIndexOf ("//")+1,_item.Length -(_item.LastIndexOf("//")+1)); //拷贝原文件到目标路径下 File.Copy(_item, _targetPath + "//" + _originalFolderName + "//" + _itemFileName,true); } } } //======================================================================= //删除目录,不可恢复的 //======================================================================= private void DeleteFolder(string _strPath) { string[] _rootFolderChildNames = null;//存放该文件夹下子文件夹名称的数组 string[] _childFileNames = null;//存放该文件夹下文件名称的数组 try { //获取原路径下的所有子文件夹名称 _rootFolderChildNames = Directory.GetDirectories(_originalPath); } catch (Exception) { } if (_rootFolderChildNames != null && _rootFolderChildNames.Length != 0) { foreach (string _item in _rootFolderChildNames) { //使用递归检索子文件夹内容 CopyFolderB(_item, _targetPath + "//" + _originalFolderName); //删除子文件加 File.Delete(_item); } } //如果原路径下不存在子文件夹,则检索原路径下的文件 try { _childFileNames = Directory.GetFiles(_originalPath); } catch (Exception) { } if (_childFileNames != null && _childFileNames.Length != 0) {//如果原路径下存在子文件,则将原路径下所有子文件删除 foreach (string _item in _childFileNames) { File.Delete(_item); } } } } 打开文本文件 StreamReader sr = File.OpenText(Server.MapPath(".")+"//myText.txt"); StringBuilder output = new StringBuilder(); string rl; while((rl=sr.ReadLine())!=null) { output.Append(rl+""); } 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"); 递归删除文件夹及文件 private 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+" 该文件夹不存在"); //如果文件夹不存在则提示 }
C#常用的文件操作
最新推荐文章于 2024-11-09 13:58:10 发布