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
- C# System.IO.Directory、System.IO.File文件操作
- C# System.IO文件操作整理
- Unity--System.IO文件操作
- C# 使用System.IO.File.Create
- 【C#】C# System.IO的一些文件操作
- System.IO.Directory.GetCurrentDirectory()方法
- C# System.IO 文件流输入输出
- 有关对文件的操作(System.IO)
- System.IO.File类和System.IO.FileInfo类
- System.IO.File类和System.IO.FileInfo类
- System.IO.File类和System.IO.FileInfo类
- System.IO.File类和System.IO.FileInfo类
- System.IO.Directory.Delete 方法的使用
- c#中System.IO类
- C# System.IO命名空间
- system.io
- C# System.IO下读写文件乱码的解决方案
- 浅析VB.NET文件操作类System.IO
- OkHttpUtils一个专注于让网络请求更简单的框架
- Linux下网卡的桥接 (Bridge mode)
- php 判断是否是https
- js读取excel文件内容
- 07C#基础知识
- C# System.IO.Directory、System.IO.File文件操作
- Unity3D手游开发实践
- 关于在BroadcastReceiver中启动Activity的问题
- Android史上最强的图片选择器-GalleryFinal
- 深度解析DDR3内存特性
- 微信H5时间倒计时
- 几种线程池的使用和区别
- js时间日期相加减
- Android 自定义View合集