C#中常用的经典文件操作方法

C#追加文件
StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt");
sw.WriteLine("追逐理想");
sw.WriteLine("kzlll");
sw.WriteLine(".NET笔记");
sw.Flush();
sw.Close();

C#拷贝文件stringOrignFile,NewFile;
rignFile = Server.MapPath(".")+"\\myText.txt";
NewFile = Server.MapPath(".")+"\\myTextCopy.txt";
File.Copy(OrignFile,NewFile,true);

C#删除文件stringdelFile = Server.MapPath(".")+"\\myTextCopy.txt";
File.Delete(delFile);

C#移动文件stringOrignFile,NewFile;
rignFile = Server.MapPath(".")+"\\myText.txt";
NewFile = Server.MapPath(".")+"\\myTextCopy.txt";
File.Move(OrignFile,NewFile);

C#创建目录// 创建目录c:\sixAgeDirectoryInfo d=Directory.CreateDirectory("c:\\sixAge");// d1指向c:\sixAge\sixAge1DirectoryInfo d1=d.CreateSubdirectory("sixAge1");// d2指向c:\sixAge\sixAge1\sixAge1_1DirectoryInfo d2=d1.CreateSubdirectory("sixAge1_1");// 将当前目录设为c:\sixAgeDirectory.SetCurrentDirectory("c:\\sixAge");// 创建目录c:\sixAge\sixAge2Directory.CreateDirectory("sixAge2");// 创建目录c:\sixAge\sixAge2\sixAge2_1Directory.CreateDirectory("sixAge2\\sixAge2_1");

递归删除文件夹及文件publicvoidDeleteFolder(stringdir)
{if(Directory.Exists(dir))//如果存在这个文件夹删除之{foreach(stringdinDirectory.GetFileSystemEntries(dir)) {if(File.Exists(d))
                File.Delete(d);//直接删除其中的文件elseDeleteFolder(d);//递归删除子文件夹}
        Directory.Delete(dir);//删除已空文件夹Response.Write(dir+" 文件夹删除成功");
    }elseResponse.Write(dir+" 该文件夹不存在");//如果文件夹不存在则提示}protectedvoidPage_Load (Objectsender ,EventArgs e)
{stringDir="D:\\gbook\\11";
    DeleteFolder(Dir);//调用函数删除文件夹}// ======================================================// 实现一个静态方法将指定文件夹下面的所有内容copy到目标文件夹下面// 如果目标文件夹为只读属性就会报错。// April 18April2005 In STU// ======================================================publicstaticvoidCopyDir(stringsrcPath,stringaimPath)
{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(stringfileinfileList)
    {// 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件if(Directory.Exists(file))
      CopyDir(file,aimPath+Path.GetFileName(file));// 否则直接Copy文件elseFile.Copy(file,aimPath+Path.GetFileName(file),true);
    }
   }catch(Exception e)
   {
    MessageBox.Show (e.ToString());
   }
}// ======================================================// 实现一个静态方法将指定文件夹下面的所有内容Detele// 测试的时候要小心操作,删除之后无法恢复。// April 18April2005 In STU// ======================================================publicstaticvoidDeleteDir(stringaimPath)
{try{// 检查目标目录是否以目录分割字符结束如果不是则添加之if(aimPath[aimPath.Length-1] != Path.DirectorySeparatorChar)
     aimPath += Path.DirectorySeparatorChar;// 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组// 如果你指向Delete目标文件下面的文件而不包含目录请使用下面的方法// string[] fileList = Directory.GetFiles(aimPath);string[] fileList = Directory.GetFileSystemEntries(aimPath);// 遍历所有的文件和目录foreach(stringfileinfileList)
    {// 先当作目录处理如果存在这个目录就递归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());
   }
}

需要引用命名空间:usingSystem.IO;publicstaticvoidCopyFolder(stringstrFromPath,stringstrToPath)
{//如果源文件夹不存在,则创建if(!Directory.Exists(strFromPath))
   {   
    Directory.CreateDirectory(strFromPath);
   }//取得要拷贝的文件夹名stringstrFolderName = 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(inti = 0;i < strFiles.Length;i++)
   {//取得拷贝的文件名,只取文件名,地址截掉。stringstrFileName = 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 =newDirectoryInfo(strFromPath);//取得源文件夹下的所有子文件夹名称DirectoryInfo[] ZiPath = dirInfo.GetDirectories();for(intj = 0;j < ZiPath.Length;j++)
   {//获取所有子文件夹名stringstrZiPath = strFromPath +"\\"+ ZiPath[j].ToString();//把得到的子文件夹当成新的源文件夹,从头开始新一轮的拷贝CopyFolder(strZiPath,strToPath +"\\"+ strFolderName);
   }
}

CreateDirectory方法方法的使用方法usingSystem;usingSystem.IO;classTest    
{publicstaticvoidMain()    
          {//   Specify   the   directory   you   want   to   manipulate.stringpath   =@"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{}  
          }  
}

 

http://space.itpub.net/12639172/viewspace-623291

你可能感兴趣的:(C++,c,.net,C#,J#)