<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    namespace Common.Files
    {
        public class FileOperator
        {
            /// <summary>
            ///
            /// </summary>
            /// <param name="path">文件路徑</param>
            /// <param name="encoding">編碼</param>
            /// <returns>文件內容</returns>
            public string ReadFile(string path, System.Text.Encoding encoding)
            {
                string tempContent = "";
                using (StreamReader sr = new StreamReader(path, encoding))
                {
                    tempContent = sr.ReadToEnd();
                }
                return tempContent;
            }
            /// <summary>
            ///
            /// </summary>
            /// <param name="path">文件的路徑</param>
            /// <param name="append">是否追加</param>
            /// <param name="encoding">編碼</param>
            /// <param name="content">內容</param>
            /// <returns>是否成功</returns>
            public bool WriteFile(string path,bool append,System.Text.Encoding encoding,string content)
            {
                bool state = false;
                try
                {
                    using (StreamWriter sw = new StreamWriter(path, append, encoding))
                    {
                        sw.Write(content);
                        sw.Flush();
                        state = true;
                    }
                }
                catch
                {
     
                }
                return state;
            }
            /// <summary>
            /// 拷貝一個路徑下的文件夾和文件
            /// </summary>
            /// <param name="olddirectory"></param>
            /// <param name="newdirectory"></param>
            /// <returns></returns>
            public bool CopyDirectoryAndFiles(string olddirectory, string newdirectory)
            {
                bool state = false;
                try
                {
                    DirectoryInfo dis = new DirectoryInfo(newdirectory);
                    if (!dis.Exists)
                    {
                        Directory.CreateDirectory(newdirectory);
                    }
                    CopyAll(olddirectory, newdirectory, "");
                    state = true;
                }
                catch
                {
     
                }
                return state;
            }
            /// <summary>
            /// 遞歸拷貝一個文件夾的所有文件
            /// </summary>
            /// <param name="olddirectory"></param>
            /// <param name="newdirectory"></param>
            /// <param name="dir"></param>
            protected void CopyAll(string olddirectory, string newdirectory, string dir)
            {
                DirectoryInfo dis = new DirectoryInfo(dir.Length > 0 ? (dir) : (olddirectory));
                FileInfo[] files = dis.GetFiles();
                foreach (FileInfo fi in files)
                {

                    try
                    {
                        //拷貝文件
                        File.Copy(fi.FullName, string.Format("{0}\\{1}", dir.Length > 0 ? (dir.Replace(olddirectory, newdirectory)) : (newdirectory), fi.Name));

                    }
                    catch (Exception ex)
                    {
                        try
                        {
                            File.Delete(string.Format("{0}\\{1}", dir.Length > 0 ? (dir.Replace(olddirectory, newdirectory)) : (newdirectory), fi.Name));
                            //string temp = ex.Message;
                            File.Copy(fi.FullName, string.Format("{0}\\{1}", dir.Length > 0 ? (dir.Replace(olddirectory, newdirectory)) : (newdirectory), fi.Name));
                        }
                        catch
                        {

                        }
                    }


                }
                if (dis.GetDirectories().Length > 0)
                {
                    for (int i = 0; i < dis.GetDirectories().Length; i++)
                    {
                        //創建目錄
                        string tempNewPath = string.Format("{0}\\{1}", dir.Length > 0 ? (dir.Replace(olddirectory, newdirectory)) : (newdirectory), dis.GetDirectories()[i].Name);
                        if (!Directory.Exists(tempNewPath))
                            Directory.CreateDirectory(tempNewPath);
                        CopyAll(olddirectory, newdirectory, dis.GetDirectories()[i].FullName);
                    }
                }


            }
            /// <summary>
            ///
            /// </summary>
            /// <param name="oldFilePath"></param>
            /// <param name="newFilePath"></param>
            /// <returns></returns>
            public bool CopyFile(string oldFilePath, string newFilePath)
            {
                bool state = false;
                File.Copy(oldFilePath, newFilePath);
                return state;
            }
            /// <summary>
            ///
            /// </summary>
            /// <param name="directory"></param>
            /// <returns></returns>
            public bool DelteDirectory(string directory)
            {
                bool state = false;
                DeleteDirectoryAndFiles(directory);
                return state;
            }
            /// <summary>
            ///
            /// </summary>
            /// <param name="path"></param>
            protected void DeleteDirectoryAndFiles(string path)
            {
                DirectoryInfo di = new DirectoryInfo(path);
                if (di.GetFiles().Length > 0)
                    DeleteFiles(path);
             
               DirectoryInfo[] dis = di.GetDirectories();
               if (dis.Length > 0)
               {
                   foreach (DirectoryInfo tempdi in dis)
                   {
                   
                       DeleteDirectoryAndFiles(tempdi.FullName);
                       if (tempdi.GetFiles().Length < 1 && tempdi.GetDirectories().Length < 1)
                           tempdi.Delete();
                   }
               }
            }
            /// <summary>
            /// 刪除文件夾的所有文件
            /// </summary>
            /// <param name="path"></param>
            protected void DeleteFiles(string path)
            {
                DirectoryInfo di = new DirectoryInfo(path);
                FileInfo[] fis = di.GetFiles();
                foreach (FileInfo fi in fis)
                {
                    try
                    {
                        fi.Delete();
                    }
                    catch
                    {
                        continue;
                    }
                }

            }
          

           

        }
    }

    posted on 2010-02-03 15:17 sanmao 閱讀(679) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    常用鏈接

    留言簿(5)

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 一级毛片免费在线| 国产精品色拉拉免费看| 日本高清免费观看| 四虎影院免费视频| 亚洲av中文无码乱人伦在线播放| 在线观看亚洲AV日韩A∨| 久久免费区一区二区三波多野| 亚洲精品成人片在线观看精品字幕| 亚洲精品自偷自拍无码| 最近中文字幕电影大全免费版| 亚洲乱码中文字幕综合234 | 成年女人免费视频播放体验区| 中文字幕精品亚洲无线码一区| 亚洲午夜无码久久久久软件| 日本牲交大片免费观看| 亚洲明星合成图综合区在线| 永久免费AV无码网站国产| 免费国产高清视频| 亚洲中文字幕久久精品无码VA| 日本高清免费aaaaa大片视频| 亚洲精品色在线网站| 成人激情免费视频| 美女视频黄频a免费大全视频| 高清国语自产拍免费视频国产 | 亚洲综合色婷婷在线观看| 高清国语自产拍免费视频国产| 免费无码国产在线观国内自拍中文字幕| 青青在线久青草免费观看| 亚洲邪恶天堂影院在线观看| 国产一级a毛一级a看免费人娇| 亚洲av片一区二区三区| 国产大陆亚洲精品国产| 日韩成人免费视频播放| 免费无码一区二区| 亚洲综合久久综合激情久久| 99视频免费播放| 亚洲一卡2卡3卡4卡国产网站| 黄色免费网站网址| 免费大片av手机看片高清| 久久久久亚洲精品无码系列| 在线观看的免费网站无遮挡|