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

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 女人18毛片免费观看| 亚洲熟妇AV日韩熟妇在线| 亚洲精品二三区伊人久久| 免费的黄色的网站| 桃子视频在线观看高清免费视频| 成年大片免费视频| 亚洲国产成人一区二区三区| 亚洲国产精品尤物yw在线| 91久久亚洲国产成人精品性色| 久久久久久亚洲精品无码| 亚洲av无码专区在线电影天堂| 在线成人精品国产区免费| 免费看的成人yellow视频| 亚洲AV无码码潮喷在线观看| 亚洲高清不卡视频| 伊人久久国产免费观看视频| 亚色九九九全国免费视频| 亚洲欧洲日产国码av系列天堂| 国产亚洲玖玖玖在线观看| 久久免费高清视频| 无码不卡亚洲成?人片| 亚洲乱码在线视频| 青青操免费在线观看| 国产又黄又爽又刺激的免费网址 | 日韩亚洲变态另类中文| 亚洲av无码一区二区三区不卡| 亚洲av无码专区在线观看亚| 最近免费视频中文字幕大全| 成年丰满熟妇午夜免费视频| 亚洲av中文无码乱人伦在线咪咕| 国产精品亚洲精品日韩电影| 国产免费AV片在线观看播放| 99re在线精品视频免费| 最近中文字幕无吗高清免费视频| 亚洲AV无码久久精品色欲| 免费无码专区毛片高潮喷水| 最近中文字幕mv免费高清视频7| 精品日韩亚洲AV无码一区二区三区 | 男女超爽刺激视频免费播放| 亚洲AV永久无码精品一百度影院| 免费人成动漫在线播放r18|