C#文件操作大全.docx

上传人:b****6 文档编号:6080584 上传时间:2023-01-03 格式:DOCX 页数:11 大小:19.70KB
下载 相关 举报
C#文件操作大全.docx_第1页
第1页 / 共11页
C#文件操作大全.docx_第2页
第2页 / 共11页
C#文件操作大全.docx_第3页
第3页 / 共11页
C#文件操作大全.docx_第4页
第4页 / 共11页
C#文件操作大全.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

C#文件操作大全.docx

《C#文件操作大全.docx》由会员分享,可在线阅读,更多相关《C#文件操作大全.docx(11页珍藏版)》请在冰豆网上搜索。

C#文件操作大全.docx

C#文件操作大全

文件操作大全

本文收集了目前最为常用的C#经典操作文件的方法,具体内容如下:

C#追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件、指定文件夹下面的所有内容copy到目标文件夹下面、指定文件夹下面的所有内容Detele、读取文本文件、获取文件列表、读取日志文件、写入日志文件、创建HTML文件、CreateDirectory方法的使用

C#追加文件

StreamWritersw=File.AppendText(Server.MapPath(".")+"\\myText.txt");

sw.WriteLine("追逐理想");

sw.WriteLine("kzlll");

sw.WriteLine(".NET笔记");

sw.Flush();

sw.Close();

C#拷贝文件

stringOrignFile,NewFile;

OrignFile=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;

OrignFile=Server.MapPath(".")+"\\myText.txt";

NewFile=Server.MapPath(".")+"\\myTextCopy.txt";

File.Move(OrignFile,NewFile);

C#创建目录

//创建目录c:

\sixAge

DirectoryInfod=Directory.CreateDirectory("c:

\\sixAge");

//d1指向c:

\sixAge\sixAge1

DirectoryInfod1=d.CreateSubdirectory("sixAge1");

//d2指向c:

\sixAge\sixAge1\sixAge1_1

DirectoryInfod2=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");

递归删除文件夹及文件

<%@PageLanguage=C#%>

<%@Importnamespace="System.IO"%>

publicvoidDeleteFolder(stringdir)

{

   if(Directory.Exists(dir))//如果存在这个文件夹删除之

   {

       foreach(stringdinDirectory.GetFileSystemEntries(dir))

       {

           if(File.Exists(d))

               File.Delete(d);//直接删除其中的文件

           else

               DeleteFolder(d);//递归删除子文件夹

       }

       Directory.Delete(dir);//删除已空文件夹

       Response.Write(dir+"文件夹删除成功");

   }

   else

       Response.Write(dir+"该文件夹不存在");//如果文件夹不存在则提示

}

protectedvoidPage_Load(Objectsender,EventArgse)

{

   stringDir="D:

\\gbook\\11";

   DeleteFolder(Dir);//调用函数删除文件夹

}

 

//======================================================

 //实现一个静态方法将指定文件夹下面的所有内容copy到目标文件夹下面

 //如果目标文件夹为只读属性就会报错。

 //April18April2005InSTU

 //======================================================

 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文件

    else

     File.Copy(file,aimPath+Path.GetFileName(file),true);

   }

  }

  catch(Exceptione)

  {

   MessageBox.Show(e.ToString());

  }

 }

 //======================================================

 //实现一个静态方法将指定文件夹下面的所有内容Detele

 //测试的时候要小心操作,删除之后无法恢复。

 //======================================================

 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(Exceptione)

  {

   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

  {

   //取得拷贝的文件名,只取文件名,地址截掉。

   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实例

  DirectoryInfodirInfo=newDirectoryInfo(strFromPath);

  //取得源文件夹下的所有子文件夹名称

  DirectoryInfo[]ZiPath=dirInfo.GetDirectories();

  for(intj=0;j

  {

   //获取所有子文件夹名

   stringstrZiPath=strFromPath+"\\"+ZiPath[j].ToString();  

   //把得到的子文件夹当成新的源文件夹,从头开始新一轮的拷贝

   CopyFolder(strZiPath,strToPath+"\\"+strFolderName);

  }

 }

一.读取文本文件

 /**////

  ///读取文本文件

  ///

  privatevoidReadFromTxtFile()

  {

     if(filePath.PostedFile.FileName!

="")

     {

         txtFilePath=filePath.PostedFile.FileName;

         fileExtName=txtFilePath.Substring(txtFilePath.LastIndexOf(".")+1,3);

 

        if(fileExtName!

="txt"&&fileExtName!

="TXT")

        {

            Response.Write("请选择文本文件");

        }

        else

        {

            StreamReaderfileStream=newStreamReader(txtFilePath,Encoding.Default);

            txtContent.Text=fileStream.ReadToEnd();

            fileStream.Close();

        }

    }

 }

二.获取文件列表

/**////

 ///获取文件列表

 ///

 privatevoidGetFileList()

 {

     stringstrCurDir,FileName,FileExt;

     

     /**////文件大小

    longFileSize;

    

    /**////最后修改时间;

    DateTimeFileModify;

 

    /**////初始化

    if(!

IsPostBack)

    {

        /**////初始化时,默认为当前页面所在的目录

        strCurDir=Server.MapPath(".");

        lblCurDir.Text=strCurDir;

        txtCurDir.Text=strCurDir;

    }

    else

    {

        strCurDir=txtCurDir.Text;

        txtCurDir.Text=strCurDir;

        lblCurDir.Text=strCurDir;

    }

    FileInfofi;

    DirectoryInfodir;

    TableCelltd;

    TableRowtr;

    tr=newTableRow();

    

    /**////动态添加单元格内容

    td=newTableCell();

    td.Controls.Add(newLiteralControl("文件名"));

    tr.Cells.Add(td);

    td=newTableCell();

    td.Controls.Add(newLiteralControl("文件类型"));

    tr.Cells.Add(td);

    td=newTableCell();

    td.Controls.Add(newLiteralControl("文件大小"));

    tr.Cells.Add(td);

    td=newTableCell();

    td.Controls.Add(newLiteralControl("最后修改时间"));

    tr.Cells.Add(td);

 

    tableDirInfo.Rows.Add(tr);

    

    /**////针对当前目录建立目录引用对象

    DirectoryInfodirInfo=newDirectoryInfo(txtCurDir.Text);

    

    /**////循环判断当前目录下的文件和目录

    foreach(FileSystemInfofsiindirInfo.GetFileSystemInfos())

    {

        FileName="";

        FileExt="";

        FileSize=0;

        

        /**////如果是文件

        if(fsiisFileInfo)

        {

            fi=(FileInfo)fsi;

            

            /**////取得文件名

            FileName=fi.Name;

            

            /**////取得文件的扩展名

            FileExt=fi.Extension;

            

            /**////取得文件的大小

            FileSize=fi.Length;

            

            /**////取得文件的最后修改时间

            FileModify=fi.LastWriteTime;

        }

 

        /**////否则是目录

        else

        {

            dir=(DirectoryInfo)fsi;

            

            /**////取得目录名

            FileName=dir.Name;

            

            /**////取得目录的最后修改时间

            FileModify=dir.LastWriteTime;

            

            /**////设置文件的扩展名为"文件夹"

            FileExt="文件夹";

        }

        

        /**////动态添加表格内容

        tr=newTableRow();

        td=newTableCell();

        td.Controls.Add(newLiteralControl(FileName));

        tr.Cells.Add(td);

        td=newTableCell();

        td.Controls.Add(newLiteralControl(FileExt));

       tr.Cells.Add(td);

       td=newTableCell();

       td.Controls.Add(newLiteralControl(FileSize.ToString()+"字节"));

       tr.Cells.Add(td);

       td=newTableCell();

       td.Controls.Add(newLiteralControl(FileModify.ToString("yyyy-mm-ddhh:

mm:

ss")));

       tr.Cells.Add(td);

       tableDirInfo.Rows.Add(tr);

   }

}

三.读取日志文件

/**////

///读取日志文件

///

privatevoidReadLogFile()

{

   /**////从指定的目录以打开或者创建的形式读取日志文件

   FileStreamfs =newFileStream(Server.MapPath("upedFile")+"\\logfile.txt",FileMode.OpenOrCreate,FileAccess.Read);

   /**////定义输出字符串

   StringBuilderoutput=newStringBuilder();

   

   /**////初始化该字符串的长度为0

   output.Length=0;

   

   /**////为上面创建的文件流创建读取数据流

   StreamReaderread=newStreamReader(fs);

   

   /**////设置当前流的起始位置为文件流的起始点

   read.BaseStream.Seek(0,SeekOrigin.Begin);

   

   /**////读取文件

   while(read.Peek()>-1)

   {

       /**////取文件的一行内容并换行

      

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1