国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C#文件幫助類FoderHelper

2019-11-17 03:08:56
字體:
來源:轉載
供稿:網友

C#文件幫助類FoderHelper

封裝了對文件類的各種操作

轉載自http://www.open-open.com/lib/view/open1391348397082.html

代碼如下:

using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using System.IO;using System.Collections;using System.Collections.Generic;using System.Security.accessControl;using System.Security.Permissions;namespace Bll{    public class FolderHelper    {        //判斷文件夾是否存在        public static bool checkFolderExits(string path)        {            DirectoryInfo dir = new DirectoryInfo(path);            if (dir.Exists)//文件夾存在            {                   return true;            }            else            {               //dir.Create();//不存在就創建一個                return false;            }        }        //創建一個文件夾,存在就創建失敗        public static bool CreateNewFolder(string path)        {            DirectoryInfo dir = new DirectoryInfo(path);            if (!dir.Exists)            {                dir.Create();                return true;            }            else                return false;        }        /// <summary>        /// 在指定目錄下創建指定名稱文件夾        /// </summary>        /// <param name="ParentsPath"></param>        /// <param name="NewFolderName"></param>        /// <returns></returns>        public static bool CreateNewFolder(string ParentsPath, string NewFolderName)        {            string CreatePath = ParentsPath + @"/" + NewFolderName;            DirectoryInfo dir = new DirectoryInfo(CreatePath);            if (!dir.Exists)            {                dir.Create();                return true;            }            else                return false;        }        /// <summary>        /// 返回目錄下的所有文件名        /// </summary>        /// <param name="path"></param>        /// <returns></returns>        public static ArrayList getAllFiles(string path)        {            DirectoryInfo dir = new DirectoryInfo(path);            if (dir.Exists)            {                FileInfo[] fileinfo = dir.GetFiles();                ArrayList list = new ArrayList();                foreach (FileInfo f in fileinfo)                {                    list.Add(f.Name);                }                return list;            }            else                return null;        }        /// <summary>        /// 計算文件夾的大小        /// </summary>        /// <param name="d"></param>        /// <returns></returns>        public static long DirSize(DirectoryInfo d)        {            long Size = 0;            // Add file sizes.            FileInfo[] fis = d.GetFiles();//獲得目錄文件列表            foreach (FileInfo fi in fis)            {                Size += fi.Length;            }            // Add subdirectory sizes.            DirectoryInfo[] dis = d.GetDirectories();//獲取目錄子目錄列表            foreach (DirectoryInfo di in dis)            {                Size += DirSize(di);            }            return Size;        }        /// <summary>        /// 把文件夾得大小轉換成比較合適的表示單位        /// </summary>        /// <param name="size"></param>        /// <returns></returns>        public static string ViewSize(long size)        {            long m=size;            string viewstr;                        if ((m / 1024) > 0)//表示可以轉換成KB            {                m = m / 1024;//轉換成KB                                if ((m / 1024) > 0)//表示可以轉換成MB                {                    m = m / 1024;//轉換成MB了                    if ((m / 1024) > 0)//表示可以轉換成GB                    {                        m = m / 1024;//轉換成GB了                        viewstr = m.ToString() + "GB";                    }                    else                    {                        viewstr = m.ToString() + "MB";                    }                }                else                {                    viewstr = m.ToString() + "KB";                }            }            else            {                viewstr = m.ToString() + "byte";            }            return viewstr;        }        /// <summary>        /// 刪除指定目錄和內容        /// </summary>        /// <param name="dir"></param>        /// <returns></returns>        public static bool delDir(string dir)        {            bool flag = false;            DirectoryInfo d = new DirectoryInfo(dir);            if (d.Exists)//判斷目錄是否存在            {                try                {                    d.Delete();                    flag = true;                }                catch (Exception e) { flag = false; }            }            return flag;        }        /// <summary>        /// 刪除指定文件        /// </summary>        /// <param name="fil"></param>        /// <returns></returns>        public static bool delFile(string fil)        {            bool flag = false;            FileInfo d = new FileInfo(fil);            if (d.Exists)//判斷目錄是否存在            {                try                {                    d.Delete();                    flag = true;                }                catch (Exception e) { flag = false; }            }            return flag;        }        public static void Copy(string sourceDirectory, string targetDirectory)        {            DirectoryInfo diSource = new DirectoryInfo(sourceDirectory);            DirectoryInfo diTarget = new DirectoryInfo(targetDirectory);            CopyAll(diSource, diTarget);        }        /// <summary>        /// 復制目錄及子文件到指定目錄        /// </summary>        /// <param name="source"></param>        /// <param name="target"></param>        public static void CopyAll(DirectoryInfo source, DirectoryInfo target)        {            // Check if the target directory exists, if not, create it.            if (Directory.Exists(target.FullName) == false)            {                Directory.CreateDirectory(target.FullName);            }            // Copy each file into it's new directory.            foreach (FileInfo fi in source.GetFiles())            {                Console.WriteLine(@"Copying {0}/{1}", target.FullName, fi.Name);                fi.CopyTo(Path.Combine(target.ToString(), fi.Name), true);            }            // Copy each subdirectory using recursion.            foreach (DirectoryInfo diSourceSubDir in source.GetDirectories())            {                DirectoryInfo nextTargetSubDir =                    target.CreateSubdirectory(diSourceSubDir.Name);                CopyAll(diSourceSubDir, nextTargetSubDir);            }        }        /// <summary>        /// 循環讀取某個目錄下的所有文件和目錄,查詢有關每一項的一些信息。返回一個文件列表        /// </summary>        /// <param name="strCurrentDir"></param>        public static List<fileEntity> FileView(string strCurrentDir)        {            List<fileEntity> fileList = new List<fileEntity>();            DirectoryInfo dir = new DirectoryInfo(strCurrentDir);            foreach (FileSystemInfo fsi in dir.GetFileSystemInfos())//這個循環再讀取文件的信息            {                try                {                    //FileSystemInfo 對象可以表示文件或目錄,從而可以作為 FileInfo 或 DirectoryInfo 對象的基礎。 當分析許多文件和目錄時,請使用該基類。                    FileInfo fi;                    DirectoryInfo di;                    //創建一個自己寫的實體類的實體                    fileEntity newfile = new fileEntity();                    if (fsi is FileInfo)//外層循環讀取文件信息                    {                        //表示當前fsi是文件                        fi = (FileInfo)fsi;                        newfile.fileName = fi.Name;                        newfile.fileExt = fi.Extension;                        newfile.fileSize = fi.Length;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 韶山市| 茂名市| 滦南县| 承德县| 清苑县| 柳林县| 铜梁县| 宿松县| 鹰潭市| 旅游| 汉沽区| 博野县| 泾阳县| 松潘县| 昌都县| 当阳市| 南充市| 资阳市| 会同县| 邮箱| 海兴县| 鄄城县| 读书| 余姚市| 冕宁县| 安康市| 河间市| 太原市| 响水县| 江陵县| 南皮县| 白河县| 韩城市| 南平市| 抚顺市| 南充市| 昭平县| 彝良县| 苗栗县| 平顺县| 姚安县|