代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Asp.Net
】
FileHelper-文件操作辅助类
作者:
Egbert
/ 发布于
2016/1/4
/
963
using System; using System.Collections.Generic; using System.IO; using System.Text; namespace Whir.Software.Framework { /// <summary> /// 文件辅助类 /// </summary> public class FileHelper { /// <summary> /// 编码方式 /// </summary> private static readonly Encoding Encoding = Encoding.UTF8; /// <summary> /// 递归取得文件夹下文件 /// </summary> /// <param name="dir"></param> /// <param name="list"></param> public static void GetFiles(string dir, List<string> list) { GetFiles(dir, list, new List<string>()); } /// <summary> /// 递归取得文件夹下文件 /// </summary> /// <param name="dir"></param> /// <param name="list"></param> /// <param name="fileExtsions"></param> public static void GetFiles(string dir, List<string> list, List<string> fileExtsions) { //添加文件 string[] files = Directory.GetFiles(dir); if (fileExtsions.Count > 0) { foreach (string file in files) { string extension = Path.GetExtension(file); if (extension != null && fileExtsions.Contains(extension)) { list.Add(file); } } } else { list.AddRange(files); } //如果是目录,则递归 DirectoryInfo[] directories = new DirectoryInfo(dir).GetDirectories(); foreach (DirectoryInfo item in directories) { GetFiles(item.FullName, list, fileExtsions); } } /// <summary> /// 写入文件 /// </summary> /// <param name="filePath">文件名</param> /// <param name="content">文件内容</param> public static void WriteFile(string filePath, string content) { try { var fs = new FileStream(filePath, FileMode.Create); Encoding encode = Encoding; //获得字节数组 byte[] data = encode.GetBytes(content); //开始写入 fs.Write(data, 0, data.Length); //清空缓冲区、关闭流 fs.Flush(); fs.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message); } } /// <summary> /// 读取文件 /// </summary> /// <param name="filePath"></param> /// <returns></returns> public static string ReadFile(string filePath) { return ReadFile(filePath, Encoding); } /// <summary> /// 读取文件 /// </summary> /// <param name="filePath"></param> /// <param name="encoding"></param> /// <returns></returns> public static string ReadFile(string filePath, Encoding encoding) { using (var sr = new StreamReader(filePath, encoding)) { return sr.ReadToEnd(); } } /// <summary> /// 读取文件 /// </summary> /// <param name="filePath"></param> /// <returns></returns> public static List<string> ReadFileLines(string filePath) { var str = new List<string>(); using (var sr = new StreamReader(filePath, Encoding)) { String input; while ((input = sr.ReadLine()) != null) { str.Add(input); } } return str; } /// <summary> /// 复制文件夹(及文件夹下所有子文件夹和文件) /// </summary> /// <param name="sourcePath">待复制的文件夹路径</param> /// <param name="destinationPath">目标路径</param> public static void CopyDirectory(String sourcePath, String destinationPath) { var info = new DirectoryInfo(sourcePath); Directory.CreateDirectory(destinationPath); foreach (FileSystemInfo fsi in info.GetFileSystemInfos()) { String destName = Path.Combine(destinationPath, fsi.Name); if (fsi is FileInfo) //如果是文件,复制文件 File.Copy(fsi.FullName, destName); else //如果是文件夹,新建文件夹,递归 { Directory.CreateDirectory(destName); CopyDirectory(fsi.FullName, destName); } } } /// <summary> /// 删除文件夹(及文件夹下所有子文件夹和文件) /// </summary> /// <param name="directoryPath"></param> public static void DeleteFolder(string directoryPath) { foreach (string d in Directory.GetFileSystemEntries(directoryPath)) { if (File.Exists(d)) { var fi = new FileInfo(d); if (fi.Attributes.ToString().IndexOf("ReadOnly", StringComparison.Ordinal) != -1) fi.Attributes = FileAttributes.Normal; File.Delete(d); //删除文件 } else DeleteFolder(d); //删除文件夹 } Directory.Delete(directoryPath); //删除空文件夹 } /// <summary> /// 清空文件夹(及文件夹下所有子文件夹和文件) /// </summary> /// <param name="directoryPath"></param> public static void ClearFolder(string directoryPath) { foreach (string d in Directory.GetFileSystemEntries(directoryPath)) { if (File.Exists(d)) { var fi = new FileInfo(d); if (fi.Attributes.ToString().IndexOf("ReadOnly", StringComparison.Ordinal) != -1) fi.Attributes = FileAttributes.Normal; File.Delete(d); //删除文件 } else DeleteFolder(d); //删除文件夹 } } /// <summary> /// 取得文件大小,按适当单位转换 /// </summary> /// <param name="filepath"></param> /// <returns></returns> public static string GetFileSize(string filepath) { string result = "0KB"; if (File.Exists(filepath)) { var size = new FileInfo(filepath).Length; int filelength = size.ToString().Length; if (filelength < 4) result = size + "byte"; else if (filelength < 7) result = Math.Round(Convert.ToDouble(size / 1024d), 2) + "KB"; else if (filelength < 10) result = Math.Round(Convert.ToDouble(size / 1024d / 1024), 2) + "MB"; else if (filelength < 13) result = Math.Round(Convert.ToDouble(size / 1024d / 1024 / 1024), 2) + "GB"; else result = Math.Round(Convert.ToDouble(size / 1024d / 1024 / 1024 / 1024), 2) + "TB"; return result; } return result; } } }
试试其它关键字
FileHelper
文件操作
同语言下
.
gzip压缩
.
实现http多线程断点续传下载文件
.
实现多线程断点续传下载大文件
.
生成字符串的 CheckSum
.
根据 UserAgent 获取浏览器的类型和版本
.
根据 Agent 判断是否是智能手机
.
隐藏手机号中间四位为*方法
.
合并图片(二维码和其他图片合并)
.
ASP.NET CORE中判断是否移动端打开网页
.
ASP.NET(C#)实现页面计时(定时)自动跳转
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
Egbert
贡献的其它代码
(
20
)
.
删除服务器上文件
.
DbHelper-SQL数据库访问助手
.
SQL Server判断数据库、表、存储过程、函数是否存在
.
SQL 字符串去除空格函数
.
RegistryHelper-注册表辅助类
.
查询MySql数据库架构信息:数据库,表,表字段
.
HttpOperater-模拟HTTP操作类
.
设置文件夹用户权限
.
AppPoolService-IIS应用程序池辅助类
.
FileHelper-文件操作辅助类
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3