C# System.IO.Directory、System.IO.File文件操作

来源:互联网 发布:淘宝pc端在哪里 编辑:程序博客网 时间:2024/05/17 20:26

System.IO.Directory、System.IO.File文件操作

/// <summary>/// 删除文件/// </summary>/// <param name="file"></param>/// <returns></returns>public static bool DeleteFile(string file){    try    {        System.IO.File.Delete(file);        //System.IO.File.Delete(@"C:\Users\Public\DeleteTest\test.txt");        return true;    }    catch (Exception ex)    {    }    return false;}/// <summary>/// 删除文件夹/// </summary>/// <param name="path"></param>/// <returns></returns>public static bool DeleteFolder(string path){    try    {        if (Directory.Exists(path))        {            ///删除文件夹            System.IO.Directory.Delete(path, true);            ///创建文件夹            Directory.CreateDirectory(path);        }        return true;    }    catch (Exception ex)    {    }    return false;}/// <summary>/// 删除文件夹内所有文件/// </summary>/// <param name="path"></param>/// <returns></returns>public static bool DeleteAllFile(string path){    try    {        DirectoryInfo dir = new DirectoryInfo(path);        FileInfo[] files = dir.GetFiles();        if (files.Count() > 0)        {            foreach (var item in files)            {                if (!item.ToString().Contains("$") && (!item.ToString().Contains("Boot")))                {                    System.IO.File.Delete(dir.ToString() + "\\" + item.ToString());                }            }        }        return true;    }    catch (Exception ex)    {    }    return false;}


using System;using System.IO;using System.Linq;using System.Web;namespace CoreLibrary{    public class FileHelper    {        /// <summary>        /// 创建文件夹路径名称        /// </summary>        /// <param name="dir"></param>        /// <returns></returns>        public static string CreatDirectoryPath(string path)        {            string result = string.Empty;            try            {                string year = DateTime.Now.Year.ToString();                string month = DateTime.Now.Month.ToString();                if (month.Length == 1)                    month = "0" + month;                result = path + year + "/" + month + "/";            }            catch (Exception)            {                result = path;            }            return result;        }        /// <summary>        /// 创建文件夹        /// </summary>        /// <param name="path"></param>        /// <param name="message"></param>        /// <returns></returns>        public static bool CreateDirectory(string path, out string message)        {            bool IsSuccess = false;            message = "";            if (!Directory.Exists(path))            {                try                {                    Directory.CreateDirectory(path);                    IsSuccess = true;                }                catch (UnauthorizedAccessException)                {                    message = "创建目录失败,因为没有足够的权限。";                }                catch (PathTooLongException)                {                    message = "路径或者文件名超过系统定义的最大长度。";                }                catch (DirectoryNotFoundException)                {                    message = "保存目录没有找到。";                }            }            else                IsSuccess = true;            return IsSuccess;        }        /// <summary>        /// 根据Base64字符串,保存文件        /// </summary>        /// <param name="fileBase"></param>        /// <param name="saveFolder"></param>        /// <param name="IsApi"></param>        /// <returns></returns>        public static FileUploadResult CreateBase64ToImage(string fileBase, string saveFolder, bool IsApi)        {            FileUploadResult result = null;            string savePath = string.Empty;            string message = string.Empty;            string fileName = string.Empty;            if (IsApi)                savePath = StringPlus.GetWebConfigKey("APIFilePath") + saveFolder;            else                savePath = ConstantParamInfo.PhysicalApplicationPath + saveFolder;            try            {                if (CreateDirectory(savePath, out message))                {                    string dt = DateTime.Now.ToString("yyyyMMddHHmmss.fff");                    byte[] file = Convert.FromBase64String(fileBase);                    fileName = dt + ".jpg";                    File.WriteAllBytes(savePath + fileName, file);                    result = new FileUploadResult(saveFolder + fileName);                }                else                {                    result = new FileUploadResult(-2, message);                }            }            catch (Exception ex)            {                result = new FileUploadResult(ex);            }            return result;        }        /// <summary>        /// 根据HttpPostedFileBase,保存文件        /// </summary>        /// <param name="postedFile"></param>        /// <param name="saveFolder"></param>        /// <returns></returns>        public static FileUploadResult CreatePostedFileToImage(HttpPostedFileBase postedFile, string saveFolder)        {            //在网站根目录下创建日志目录            string savePath = ConstantParamInfo.PhysicalApplicationPath + saveFolder;            string message = string.Empty;            FileUploadResult result = null;            try            {                if (CreateDirectory(savePath, out message))                {                    string dt = DateTime.Now.ToString("yyyyMMddHHmmss.fff");                    if (postedFile != null && postedFile.ContentLength > 0)                    {                        string fileName = string.Empty;                        string fileExtension = string.Empty;                        string filePath = string.Empty;                        fileName = Path.GetFileName(postedFile.FileName);//文件名称                        fileExtension = Path.GetExtension(postedFile.FileName).ToLower();//文件的后缀名(小写)                        filePath = savePath + dt + fileExtension;                        postedFile.SaveAs(filePath);                        result = new FileUploadResult(saveFolder + dt + fileExtension);                    }                }                else                {                    result = new FileUploadResult(message);                }            }            catch (Exception ex)            {                result = new FileUploadResult(ex);            }            return result;        }        /// <summary>        ///         /// </summary>        /// <param name="data"></param>        /// <returns></returns>        public static FileUploadResult CreateUploadFile(FileUploadParam data)        {            //网站根目录路径设置            string ApplicationPath = string.Empty;            if (data.IsApplicationPath)                ApplicationPath = ConstantParamInfo.PhysicalApplicationPath + data.SaveFolder;            else                ApplicationPath = data.CustomApplicationPath + data.SaveFolder;            string message = string.Empty;            FileUploadResult result = null;            try            {                if (CreateDirectory(ApplicationPath, out message))                {                    string dt = DateTime.Now.ToString("yyyyMMddHHmmss.fff");                    string fileName = string.Empty;                    string fileExtension = string.Empty;                    string saveFilePath = string.Empty;                    if (data.ResourceType == (int)ResourceTypeEnum.Base64String)                    {                        byte[] file = Convert.FromBase64String(data.Base64String);                        fileName = dt + ".jpg";                        saveFilePath = data.SaveFolder + fileName;                        ///保存文件                        File.WriteAllBytes(ApplicationPath + fileName, file);                        result = new FileUploadResult(saveFilePath);                    }                    else if (data.ResourceType == (int)ResourceTypeEnum.PostedFile)                    {                        if (data.PostedFile != null && data.PostedFile.ContentLength > 0)                        {                            bool isSuccess = true;                            fileExtension = Path.GetExtension(data.PostedFile.FileName).ToLower();//文件的后缀名(小写)                            if (data.FileExtension != null)                            {                                if (!data.FileExtension.Contains(fileExtension))                                    isSuccess = false;                            }                            if (isSuccess)                            {                                //fileName = Path.GetFileName(data.PostedFile.FileName);//文件名称                                fileName = dt + fileExtension;                                saveFilePath = data.SaveFolder + dt + fileExtension;                                ///保存文件                                data.PostedFile.SaveAs(ApplicationPath + fileName);                                result = new FileUploadResult(saveFilePath);                            }                            else                            {                                result = new FileUploadResult(-2, InformationPrompt.SAVE_FILE_TYPE_ERROR);                            }                        }                    }                }                else                {                    result = new FileUploadResult(-2, message);                }            }            catch (Exception ex)            {                result = new FileUploadResult(ex);            }            return result;        }        /// <summary>        /// 根据Base64字符串,保存文件        /// </summary>        /// <param name="path"></param>        /// <param name="fileName"></param>        /// <param name="fileBase"></param>        /// <param name="mesage"></param>        /// <returns></returns>        public static bool CreateBase64ToImage(string path, string fileName, string fileBase, out string mesage)        {            bool IsSuccess = false;            mesage = "";            if (!Directory.Exists(path))            {                try                {                    Directory.CreateDirectory(path);                    IsSuccess = true;                    mesage = "创建成功。";                }                catch (UnauthorizedAccessException)                {                    mesage = "创建目录失败,因为没有足够的权限。";                }                catch (PathTooLongException)                {                    mesage = "路径或者文件名超过系统定义的最大长度。";                }                catch (DirectoryNotFoundException)                {                    mesage = "保存目录没有找到。";                }            }            else                IsSuccess = true;            if (IsSuccess)            {                try                {                    byte[] file = Convert.FromBase64String(fileBase);                    File.WriteAllBytes(path + fileName, file);                }                catch (Exception ex)                {                    mesage = ex.Message;                }            }            return IsSuccess;        }        /// <summary>        /// 删除文件        /// </summary>        /// <param name="file"></param>        /// <returns></returns>        public static bool DeleteFile(string file)        {            try            {                System.IO.File.Delete(file);                //System.IO.File.Delete(@"C:\Users\Public\DeleteTest\test.txt");                return true;            }            catch (Exception ex)            {            }            return false;        }        /// <summary>        /// 删除文件夹        /// </summary>        /// <param name="file"></param>        /// <returns></returns>        public static bool DeleteFolder(string path)        {            try            {                if (Directory.Exists(path))                {                    ///删除文件夹                    System.IO.Directory.Delete(path, true);                    ///创建文件夹                    Directory.CreateDirectory(path);                }                return true;            }            catch (Exception ex)            {            }            return false;        }        /// <summary>        /// 删除文件夹内所有文件        /// </summary>        /// <param name="file"></param>        /// <returns></returns>        public static bool DeleteAllFile(string path)        {            try            {                DirectoryInfo dir = new DirectoryInfo(path);                FileInfo[] files = dir.GetFiles();                if (files.Count() > 0)                {                    foreach (var item in files)                    {                        if (!item.ToString().Contains("$") && (!item.ToString().Contains("Boot")))                        {                            System.IO.File.Delete(dir.ToString() + "\\" + item.ToString());                        }                    }                }                return true;            }            catch (Exception ex)            {            }            return false;        }    }    /// <summary>    /// 创建文件夹返回结果    /// </summary>    public class CreateDirectoryResult    {        public int Code { get; set; }        public string Path { get; set; }        public string Msg { get; set; }    }    /// <summary>    /// 参数设置    /// </summary>    public class FileUploadParam    {        public FileUploadParam()        {            IsApplicationPath = true;        }        /// <summary>        /// 是否保存至项目根目录        /// </summary>        public bool IsApplicationPath { get; set; }        /// <summary>        /// 自定义项目根目录        /// </summary>        public string CustomApplicationPath { get; set; }        /// <summary>        /// 资源类型        /// </summary>        public int ResourceType { get; set; }        /// <summary>        /// 保存路径:/upload/banner/123.jpg        /// </summary>        public string SaveFolder { get; set; }        /// <summary>        ///         /// </summary>        public HttpPostedFileBase PostedFile { get; set; }        /// <summary>        ///         /// </summary>        public string Base64String { get; set; }        /// <summary>        /// 文件后缀        /// </summary>        public string[] FileExtension { get; set; }    }    /// <summary>    /// 返回结果    /// </summary>    public class FileUploadResult    {        public FileUploadResult()        {            this.Code = 200;            this.Msg = "success";        }        public FileUploadResult(string resultPath)            : this()        {            this.Path = resultPath;        }        public FileUploadResult(int code, string resultPath)            : this()        {            this.Code = code;            this.Path = resultPath;        }        public FileUploadResult(Exception ex)            : this()        {            this.Code = -1;            this.Path = "";            this.Msg = ex.Message;        }        public int Code { get; set; }        public string Path { get; set; }        public string Msg { get; set; }    }    /// <summary>    ///     /// </summary>    public enum ResourceTypeEnum    {        /// <summary>        ///         /// </summary>        None = 0,        /// <summary>        /// Base64字符串        /// </summary>        Base64String = 1,        /// <summary>        /// HttpPostedFileBase        /// </summary>        PostedFile = 2,    }}




0 0
原创粉丝点击