乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      C#文件操作方法大全

       thy 2009-04-03
      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#創(chuàng)建目錄
      // 創(chuàng)建目錄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");
      // 創(chuàng)建目錄c:\sixAge\sixAge2
      Directory.CreateDirectory("sixAge2");
      // 創(chuàng)建目錄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); //調用函數(shù)刪除文件夾
      }


      // ======================================================
        // 實現(xiàn)一個靜態(tài)方法將指定文件夾下面的所有內容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);
          // 得到源目錄的文件列表,該里面是包含文件以及目錄路徑的一個數(shù)組
          // 如果你指向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());
         }
        }



      // ======================================================
        // 實現(xiàn)一個靜態(tài)方法將指定文件夾下面的所有內容Detele
        // 測試的時候要小心操作,刪除之后無法恢復。
        // April 18April2005 In STU
        // ======================================================
        public static void DeleteDir(string aimPath)
        {
         try
         {
          // 檢查目標目錄是否以目錄分割字符結束如果不是則添加之
          if(aimPath[aimPath.Length-1] != Path.DirectorySeparatorChar)
           aimPath += Path.DirectorySeparatorChar;
          // 得到源目錄的文件列表,該里面是包含文件以及目錄路徑的一個數(shù)組
          // 如果你指向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>

        /// </summary>
        /// <param ></param>
        /// <param ></param>

        //--------------------------------------------------
      //---------------------------------------------------

        public static void CopyFolder(string strFromPath,string strToPath)
        {
         //如果源文件夾不存在,則創(chuàng)建
         if (!Directory.Exists(strFromPath))
         {    
          Directory.CreateDirectory(strFromPath);
         }  

         //取得要拷貝的文件夾名
         string strFolderName = strFromPath.Substring(strFromPath.LastIndexOf("\\") + 1,strFromPath.Length - strFromPath.LastIndexOf("\\") - 1);  

         //如果目標文件夾中沒有源文件夾則在目標文件夾中創(chuàng)建源文件夾
         if (!Directory.Exists(strToPath + "\\" + strFolderName))
         {    
          Directory.CreateDirectory(strToPath + "\\" + strFolderName);
         }
         //創(chuàng)建數(shù)組保存源文件夾下的文件名
         string[] strFiles = Directory.GetFiles(strFromPath);

         //循環(huán)拷貝文件
         for(int i = 0;i < strFiles.Length;i++)
         {
          //取得拷貝的文件名,只取文件名,地址截掉。
          string strFileName = strFiles.Substring(strFiles.LastIndexOf("\\") + 1,strFiles.Length - strFiles.LastIndexOf("\\") - 1);
          //開始拷貝文件,true表示覆蓋同名文件
          File.Copy(strFiles,strToPath + "\\" + strFolderName + "\\" + strFileName,true);
         }
        
         //創(chuàng)建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);
         }
        }

      一.讀取文本文件
       /**//// <summary>
       /// 讀取文本文件
       /// </summary>
       private void ReadFromTxtFile()
       {
           if(filePath.PostedFile.FileName != "")
           {
               txtFilePath =filePath.PostedFile.FileName;
               fileExtName = txtFilePath.Substring(txtFilePath.LastIndexOf(".")+1,3);
       
               if(fileExtName !="txt" && fileExtName != "TXT")
               {
                   Response.Write("請選擇文本文件");
               }
               else
               {
                   StreamReader fileStream = new StreamReader(txtFilePath,Encoding.Default);
                   txtContent.Text = fileStream.ReadToEnd();
                   fileStream.Close();
               }
           }
        }
      二.獲取文件列表
      1/**//// <summary>
        2/// 獲取文件列表
        3/// </summary>
        4private void GetFileList()
        5{
        6    string strCurDir,FileName,FileExt;
        7    
        8    /**////文件大小
        9    long FileSize;
      10    
      11    /**////最后修改時間;
      12    DateTime FileModify;
      13
      14    /**////初始化
      15    if(!IsPostBack)
      16    {
      17        /**////初始化時,默認為當前頁面所在的目錄
      18        strCurDir = Server.MapPath(".");
      19        lblCurDir.Text = strCurDir;
      20        txtCurDir.Text = strCurDir;
      21    }
      22    else
      23    {
      24        strCurDir = txtCurDir.Text;
      25        txtCurDir.Text = strCurDir;
      26        lblCurDir.Text = strCurDir;
      27    }
      28    FileInfo fi;
      29    DirectoryInfo dir;
      30    TableCell td;
      31    TableRow tr;
      32    tr = new TableRow();
      33    
      34    /**////動態(tài)添加單元格內容
      35    td = new TableCell();
      36    td.Controls.Add(new LiteralControl("文件名"));
      37    tr.Cells.Add(td);
      38    td = new TableCell();
      39    td.Controls.Add(new LiteralControl("文件類型"));
      40    tr.Cells.Add(td);
      41    td = new TableCell();
      42    td.Controls.Add(new LiteralControl("文件大小"));
      43    tr.Cells.Add(td);
      44    td = new TableCell();
      45    td.Controls.Add(new LiteralControl("最后修改時間"));
      46    tr.Cells.Add(td);
      47
      48    tableDirInfo.Rows.Add(tr);
      49    
      50    /**////針對當前目錄建立目錄引用對象
      51    DirectoryInfo dirInfo = new DirectoryInfo(txtCurDir.Text);
      52    
      53    /**////循環(huán)判斷當前目錄下的文件和目錄
      54    foreach(FileSystemInfo fsi in dirInfo.GetFileSystemInfos())
      55    {
      56        FileName = "";
      57        FileExt = "";
      58        FileSize = 0;
      59        
      60        /**////如果是文件
      61        if(fsi is FileInfo)
      62        {
      63            fi = (FileInfo)fsi;
      64            
      65            /**////取得文件名
      66            FileName = fi.Name;
      67            
      68            /**////取得文件的擴展名
      69            FileExt = fi.Extension;
      70            
      71            /**////取得文件的大小
      72            FileSize = fi.Length;
      73            
      74            /**////取得文件的最后修改時間
      75            FileModify = fi.LastWriteTime;
      76        }
      77
      78        /**////否則是目錄
      79        else
      80        {
      81            dir = (DirectoryInfo)fsi;
      82            
      83            /**////取得目錄名
      84            FileName = dir.Name;
      85            
      86            /**////取得目錄的最后修改時間
      87            FileModify = dir.LastWriteTime;
      88            
      89            /**////設置文件的擴展名為"文件夾"
      90            FileExt = "文件夾";
      91        }
      92        
      93        /**////動態(tài)添加表格內容
      94        tr = new TableRow();
      95        td = new TableCell();
      96        td.Controls.Add(new LiteralControl(FileName));
      97        tr.Cells.Add(td);
      98        td = new TableCell();
      99        td.Controls.Add(new LiteralControl(FileExt));
      100        tr.Cells.Add(td);
      101        td = new TableCell();
      102        td.Controls.Add(new LiteralControl(FileSize.ToString()+"字節(jié)"));
      103        tr.Cells.Add(td);
      104        td = new TableCell();
      105        td.Controls.Add(new LiteralControl(FileModify.ToString("yyyy-mm-dd hh:mm:ss")));
      106        tr.Cells.Add(td);
      107        tableDirInfo.Rows.Add(tr);
      108    }
      109}



      三.讀取日志文件

      1/**//// <summary>
      2/// 讀取日志文件
      3/// </summary>
      4private void ReadLogFile()
      5{
      6    /**////從指定的目錄以打開或者創(chuàng)建的形式讀取日志文件
      7    FileStream fs  = new FileStream(Server.MapPath("upedFile")+"\\logfile.txt", FileMode.OpenOrCreate, FileAccess.Read);
      8
      9    /**////定義輸出字符串
      10    StringBuilder output = new StringBuilder();
      11    
      12    /**////初始化該字符串的長度為0
      13    output.Length = 0;
      14    
      15    /**////為上面創(chuàng)建的文件流創(chuàng)建讀取數(shù)據(jù)流
      16    StreamReader read = new StreamReader(fs);
      17    
      18    /**////設置當前流的起始位置為文件流的起始點
      19    read.BaseStream.Seek(0, SeekOrigin.Begin);
      20    
      21    /**////讀取文件
      22    while (read.Peek() > -1)
      23    {
      24        /**////取文件的一行內容并換行
      25        output.Append(read.ReadLine() + "\n");
      26    }
      27    
      28    /**////關閉釋放讀數(shù)據(jù)流
      29    read.Close();
      30    
      31    /**////返回讀到的日志文件內容
      32    return output.ToString();
      33}

      四.寫入日志文件


      1/**//// <summary>
      2/// 寫入日志文件
      3/// </summary>
      4/// <param ></param>
      5private void WriteLogFile(string input)
      6{    
      7    /**////指定日志文件的目錄
      8    string fname = Server.MapPath("upedFile") + "\\logfile.txt";
      9    /**////定義文件信息對象
      10    FileInfo finfo = new FileInfo(fname);
      11
      12    /**////判斷文件是否存在以及是否大于2K
      13    if ( finfo.Exists && finfo.Length > 2048 )
      14    {
      15        /**////刪除該文件
      16        finfo.Delete();
      17    }
      18    /**////創(chuàng)建只寫文件流
      19    using(FileStream fs = finfo.OpenWrite())
      20    {
      21        /**////根據(jù)上面創(chuàng)建的文件流創(chuàng)建寫數(shù)據(jù)流
      22        StreamWriter w = new StreamWriter(fs);
      23        
      24        /**////設置寫數(shù)據(jù)流的起始位置為文件流的末尾
      25        w.BaseStream.Seek(0, SeekOrigin.End);
      26        
      27              w.Write("\nLog Entry : ");
      29        
      30        /**////寫入當前系統(tǒng)時間并換行
      31        w.Write("{0} {1} \r\n", DateTime.Now.ToLongTimeString(),
      32            DateTime.Now.ToLongDateString());
      33        
      34        /**////寫入日志內容并換行
      35        w.Write(input + "\n");
      36        
      37        /**////寫入------------------------------------“并換行
      38        w.Write("------------------------------------\n");
      39        
      40        /**////清空緩沖區(qū)內容,并把緩沖區(qū)內容寫入基礎流
      41        w.Flush();
      42        
      43        /**////關閉寫數(shù)據(jù)流
      44        w.Close();
      45    }
      46}

      五.C#創(chuàng)建HTML文件
      1/**//// <summary>
      2/// 創(chuàng)建HTML文件
      3/// </summary>
      4private void CreateHtmlFile()
      5{    
      6    /**////定義和html標記數(shù)目一致的數(shù)組
      7    string[] newContent = new string[5];
      8    StringBuilder strhtml = new StringBuilder();
      9    try
      10    {
      11        /**////創(chuàng)建StreamReader對象
      12        using (StreamReader sr = new StreamReader(Server.MapPath("createHTML") + "\\template.html"))
      13        {
      14            String oneline;
      15            
      16            /**////讀取指定的HTML文件模板
      17            while ((oneline = sr.ReadLine()) != null)
      18            {
      19                strhtml.Append(oneline);
      20            }
      21            sr.Close();
      22        }
      23    }
      24    catch(Exception err)
      25    {
      26        /**////輸出異常信息
      27        Response.Write(err.ToString());
      28    }
      29    /**////為標記數(shù)組賦值
      30    newContent[0] = txtTitle.Text;//標題
      31    newContent[1] = "BackColor='#cccfff'";//背景色
      32    newContent[2] = "#ff0000";//字體顏色
      33    newContent[3] = "100px";//字體大小
      34    newContent[4] = txtContent.Text;//主要內容
      35
      36    /**////根據(jù)上面新的內容生成html文件
      37    try
      38    {
      39        /**////指定要生成的HTML文件
      40        string fname = Server.MapPath("createHTML") +"\\" + DateTime.Now.ToString("yyyymmddhhmmss") + ".html";
      41        
      42        /**////替換html模版文件里的標記為新的內容
      43        for(int i=0;i < 5;i++)
      44        {
      45            strhtml.Replace("$htmlkey["+i+"]",newContent);
      46        }
      47        /**////創(chuàng)建文件信息對象
      48        FileInfo finfo = new FileInfo(fname);
      49        
      50        /**////以打開或者寫入的形式創(chuàng)建文件流
      51        using(FileStream fs = finfo.OpenWrite())
      52        {
      53            /**////根據(jù)上面創(chuàng)建的文件流創(chuàng)建寫數(shù)據(jù)流
      54            StreamWriter sw = new StreamWriter(fs,System.Text.Encoding.GetEncoding("GB2312"));
      55            
      56            /**////把新的內容寫到創(chuàng)建的HTML頁面中
      57            sw.WriteLine(strhtml);
      58            sw.Flush();
      59            sw.Close();
      60        }
      61        
      62        /**////設置超級鏈接的屬性
      63        hyCreateFile.Text = DateTime.Now.ToString("yyyymmddhhmmss")+".html";
      64        hyCreateFile.NavigateUrl = "createHTML/"+DateTime.Now.ToString("yyyymmddhhmmss")+".html";
      65    }
      66    catch(Exception err)
      67    {
      68        Response.Write (err.ToString());
      69    }
      70}



      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   {}  
                }  
        }  

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多