知识大全 asp.net文件操作类

Posted 文件

篇首语:一万年来谁著史,三千里外欲封侯。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 asp.net文件操作类相关的知识,希望对你有一定的参考价值。

  今天在网上看了一个文件操作类 没有全部测试 先记下来以后进行测试! 》        /**        文件操作类        **/        #region 引用命名空间        using System;        using System Collections Generic;        using System Text;        using System IO;        #endregion        namespace CommonUtilities                /// <summary>        /// 文件操作类        /// </summary>        public class FileHelper                #region 检测指定目录是否存在        /// <summary>        /// 检测指定目录是否存在        /// </summary>        /// <param name= directoryPath >目录的绝对路径</param>        public static bool IsExistDirectory( string directoryPath )                return Directory Exists( directoryPath )                 #endregion        #region 检测指定文件是否存在        /// <summary>        /// 检测指定文件是否存在 如果存在则返回true         /// </summary>        /// <param name= filePath >文件的绝对路径</param>        public static bool IsExistFile( string filePath )                return File Exists( filePath )                 #endregion        #region 检测指定目录是否为空        /// <summary>        /// 检测指定目录是否为空        /// </summary>        /// <param name= directoryPath >指定目录的绝对路径</param>        public static bool IsEmptyDirectory( string directoryPath )                try                //判断是否存在文件        string[] fileNames = GetFileNames( directoryPath )         if ( fileNames Length > )                return false;                //判断是否存在文件夹        string[] directoryNames = GetDirectories( directoryPath )         if ( directoryNames Length > )                return false;                return true;                catch ( Exception ex )                LogHelper WriteTraceLog( TraceLogLevel Error ex Message )         return true;                        #endregion        #region 检测指定目录中是否存在指定的文件        /// <summary>        /// 检测指定目录中是否存在指定的文件 若要搜索子目录请使用重载方法         /// </summary>        /// <param name= directoryPath >指定目录的绝对路径</param>        /// <param name= searchPattern >模式字符串 * 代表 或N个字符 ? 代表 个字符         /// 范例 Log* xml 表示搜索所有以Log开头的Xml文件 </param>        public static bool Contains( string directoryPath string searchPattern )                try                //获取指定的文件列表        string[] fileNames = GetFileNames( directoryPath searchPattern false )         //判断指定文件是否存在        if ( fileNames Length == )                return false;                else                return true;                        catch ( Exception ex )                LogHelper WriteTraceLog( TraceLogLevel Error ex Message )         return false;                        /// <summary>        /// 检测指定目录中是否存在指定的文件        /// </summary>        /// <param name= directoryPath >指定目录的绝对路径</param>        /// <param name= searchPattern >模式字符串 * 代表 或N个字符 ? 代表 个字符         /// 范例 Log* xml 表示搜索所有以Log开头的Xml文件 </param>        /// <param name= isSearchChild >是否搜索子目录</param>        public static bool Contains( string directoryPath string searchPattern bool isSearchChild )                try                //获取指定的文件列表        string[] fileNames = GetFileNames( directoryPath searchPattern true )         //判断指定文件是否存在        if ( fileNames Length == )                return false;                else                return true;                        catch ( Exception ex )                LogHelper WriteTraceLog( TraceLogLevel Error ex Message )         return false;                        #endregion        #region 创建一个目录        /// <summary>        /// 创建一个目录        /// </summary>

        /// <param name= directoryPath >目录的绝对路径</param>        public static void CreateDirectory( string directoryPath )                //如果目录不存在则创建该目录        if ( !IsExistDirectory( directoryPath ) )                Directory CreateDirectory( directoryPath )                         #endregion        #region 创建一个文件        /// <summary>        /// 创建一个文件         /// </summary>        /// <param name= filePath >文件的绝对路径</param>        public static void CreateFile( string filePath )                try                //如果文件不存在则创建该文件        if ( !IsExistFile( filePath ) )                //创建一个FileInfo对象        FileInfo file = new FileInfo( filePath )         //创建文件        FileStream fs = file Create()         //关闭文件流        fs Close()                         catch ( Exception ex )                LogHelper WriteTraceLog( TraceLogLevel Error ex Message )         throw ex;                        /// <summary>        /// 创建一个文件 并将字节流写入文件         /// </summary>        /// <param name= filePath >文件的绝对路径</param>        /// <param name= buffer >二进制流数据</param>        public static void CreateFile( string filePath byte[] buffer )                try                //如果文件不存在则创建该文件        if ( !IsExistFile( filePath ) )                //创建一个FileInfo对象        FileInfo file = new FileInfo( filePath )         //创建文件        FileStream fs = file Create()         //写入二进制流        fs Write( buffer buffer Length )         //关闭文件流        fs Close()                         catch ( Exception ex )                LogHelper WriteTraceLog( TraceLogLevel Error ex Message )         throw ex;                        #endregion        #region 获取文本文件的行数        /// <summary>        /// 获取文本文件的行数        /// </summary>        /// <param name= filePath >文件的绝对路径</param>        public static int GetLineCount( string filePath )                //将文本文件的各行读到一个字符串数组中        string[] rows = File ReadAllLines( filePath )         //返回行数        return rows Length;                #endregion        #region 获取一个文件的长度        /// <summary>        /// 获取一个文件的长度 单位为Byte        /// </summary>        /// <param name= filePath >文件的绝对路径</param>        public static int GetFileSize( string filePath )                //创建一个文件对象        FileInfo fi = new FileInfo( filePath )         //获取文件的大小        return (int)fi Length;                /// <summary>        /// 获取一个文件的长度 单位为KB        /// </summary>        /// <param name= filePath >文件的路径</param>        public static double GetFileSizeByKB( string filePath )                //创建一个文件对象        FileInfo fi = new FileInfo( filePath )         //获取文件的大小        return ConvertHelper ToDouble( ConvertHelper ToDouble( fi Length ) / )                 /// <summary>        /// 获取一个文件的长度 单位为MB        /// </summary>        /// <param name= filePath >文件的路径</param>        public static double GetFileSizeByMB( string filePath )                //创建一个文件对象        FileInfo fi = new FileInfo( filePath )         //获取文件的大小        return ConvertHelper ToDouble( ConvertHelper ToDouble( fi Length ) / / )                 #endregion        #region 获取指定目录中的文件列表        /// <summary>        /// 获取指定目录中所有文件列表        /// </summary>        /// <param name= directoryPath >指定目录的绝对路径</param>        public static string[] GetFileNames( string directoryPath )                //如果目录不存在 则抛出异常        if ( !IsExistDirectory( directoryPath ) )                throw new FileNotFoundException()                 //获取文件列表        return Directory GetFiles( directoryPath )                 /// <summary>        /// 获取指定目录及子目录中所有文件列表        /// </summary>        /// <param name= directoryPath >指定目录的绝对路径</param>        /// <param name= searchPattern >模式字符串 * 代表 或N个字符 ? 代表 个字符         /// 范例 Log* xml 表示搜索所有以Log开头的Xml文件 </param>        /// <param name= isSearchChild >是否搜索子目录</param>        public static string[] GetFileNames( string directoryPath string searchPattern bool isSearchChild )                //如果目录不存在 则抛出异常        if ( !IsExistDirectory( directoryPath ) )                throw new FileNotFoundException()                 try                if ( isSearchChild )                return Directory GetFiles( directoryPath searchPattern SearchOption AllDirectories )                 else                return Directory GetFiles( directoryPath searchPattern SearchOption TopDirectoryOnly )                         catch ( IOException ex )                throw ex;                        #endregion        #region 获取指定目录中的子目录列表        /// <summary>        /// 获取指定目录中所有子目录列表 若要搜索嵌套的子目录列表 请使用重载方法         /// </summary>        /// <param name= directoryPath >指定目录的绝对路径</param>        public static string[] GetDirectories( string directoryPath )                try                return Directory GetDirectories( directoryPath )                 catch ( IOException ex )                throw ex;                        /// <summary>        /// 获取指定目录及子目录中所有子目录列表        /// </summary>        /// <param name= directoryPath >指定目录的绝对路径</param>        /// <param name= searchPattern >模式字符串 * 代表 或N个字符 ? 代表 个字符         /// 范例 Log* xml 表示搜索所有以Log开头的Xml文件 </param>        /// <param name= isSearchChild >是否搜索子目录</param>        public static string[] GetDirectories( string directoryPath string searchPattern bool isSearchChild )                try                if ( isSearchChild )                return Directory GetDirectories( directoryPath searchPattern SearchOption AllDirectories )                 else                return Directory GetDirectories( directoryPath searchPattern SearchOption TopDirectoryOnly )                         catch ( IOException ex )                throw ex;                        #endregion        #region 向文本文件写入内容        /// <summary>        /// 向文本文件中写入内容        /// </summary>        /// <param name= filePath >文件的绝对路径</param>        /// <param name= content >写入的内容</param>        public static void WriteText( string filePath string content )                //向文件写入内容         File WriteAllText( filePath content )                 #endregion        #region 向文本文件的尾部追加内容        /// <summary>        /// 向文本文件的尾部追加内容        /// </summary>        /// <param name= filePath >文件的绝对路径</param>        /// <param name= content >写入的内容</param>        public static void AppendText( string filePath string content )                File AppendAllText( filePath content )                 #endregion         #region 将现有文件的内容复制到新文件中        /// <summary>        /// 将源文件的内容复制到目标文件中        /// </summary>        /// <param name= sourceFilePath >源文件的绝对路径</param>        /// <param name= destFilePath >目标文件的绝对路径</param>        public static void Copy( string sourceFilePath string destFilePath )                File Copy( sourceFilePath destFilePath true )                 #endregion        #region 将文件移动到指定目录        /// <summary>        /// 将文件移动到指定目录        /// </summary>        /// <param name= sourceFilePath >需要移动的源文件的绝对路径</param>        /// <param name= descDirectoryPath >移动到的目录的绝对路径</param>        public static void Move( string sourceFilePath string descDirectoryPath )                //获取源文件的名称        string sourceFileName = GetFileName( sourceFilePath )         if ( IsExistDirectory( descDirectoryPath ) )                //如果目标中存在同名文件 则删除        if ( IsExistFile( descDirectoryPath + \\\\ + sourceFileName ) )                DeleteFile( descDirectoryPath + \\\\ + sourceFileName )                 //将文件移动到指定目录        File Move( sourceFilePath descDirectoryPath + \\\\ + sourceFileName )                         #endregion        #region 将流读取到缓冲区中        /// <summary>        /// 将流读取到缓冲区中        /// </summary>        /// <param name= stream >原始流</param>        public static byte[] StreamToBytes( Stream stream )                try                //创建缓冲区        byte[] buffer = new byte[stream Length];        //读取流        stream Read( buffer ConvertHelper ToInt ( stream Length ) )         //返回流        return buffer;                catch ( Exception ex )                LogHelper WriteTraceLog( TraceLogLevel Error ex Message )         throw ex;                finally                //关闭流        stream Close()                         #endregion        #region 将文件读取到缓冲区中        /// <summary>        /// 将文件读取到缓冲区中        /// </summary>        /// <param name= filePath >文件的绝对路径</param>        public static byte[] FileToBytes( string filePath )                //获取文件的大小        int fileSize = GetFileSize( filePath )         //创建一个临时缓冲区        byte[] buffer = new byte[fileSize];        //创建一个文件流        FileInfo fi = new FileInfo( filePath )         FileStream fs = fi Open( FileMode Open )         try                //将文件流读入缓冲区        fs Read( buffer fileSize )         return buffer;                catch ( IOException ex )                LogHelper WriteTraceLog( TraceLogLevel Error ex Message )         throw ex;                finally                //关闭文件流        fs Close()                         #endregion        #region 将文件读取到字符串中        /// <summary>        /// 将文件读取到字符串中        /// </summary>        /// <param name= filePath >文件的绝对路径</param>        public static string FileToString( string filePath )                return FileToString( filePath BaseInfo DefaultEncoding )                 /// <summary>        /// 将文件读取到字符串中        /// </summary>        /// <param name= filePath >文件的绝对路径</param>        /// <param name= encoding >字符编码</param>        public static string FileToString( string filePath Encoding encoding )                //创建流读取器        StreamReader reader = new StreamReader( filePath encoding )         try                //读取流        return reader ReadToEnd()                 catch ( Exception ex )                LogHelper WriteTraceLog( TraceLogLevel Error ex Message )         throw ex;                finally                //关闭流读取器        reader Close()                         #endregion        #region 从文件的绝对路径中获取文件名( 包含扩展名 )        /// <summary>        /// 从文件的绝对路径中获取文件名( 包含扩展名 )        /// </summary>        /// <param name= filePath >文件的绝对路径</param>        public static string GetFileName( string filePath )                //获取文件的名称        FileInfo fi = new FileInfo( filePath )         return fi Name;                #endregion        #region 从文件的绝对路径中获取文件名( 不包含扩展名 )        /// <summary>        /// 从文件的绝对路径中获取文件名( 不包含扩展名 )        /// </summary>        /// <param name= filePath >文件的绝对路径</param>        public static string GetFileNameNoExtension( string filePath )                //获取文件的名称        FileInfo fi = new FileInfo( filePath )         return fi Name Split( )[ ];                #endregion        #region 从文件的绝对路径中获取扩展名        /// <summary>        /// 从文件的绝对路径中获取扩展名        /// </summary>        /// <param name= filePath >文件的绝对路径</param>        public static string GetExtension( string filePath )                //获取文件的名称        FileInfo fi = new FileInfo( filePath )         return fi Extension;                #endregion        #region 清空指定目录        /// <summary>        /// 清空指定目录下所有文件及子目录 但该目录依然保存         /// </summary>        /// <param name= directoryPath >指定目录的绝对路径</param>        public static void ClearDirectory( string directoryPath )                if ( IsExistDirectory( directoryPath ) )                //删除目录中所有的文件        string[] fileNames = GetFileNames( directoryPath )         for ( int i = ; i < fileNames Length; i++ )                DeleteFile( fileNames[i] )                 //删除目录中所有的子目录        string[] directoryNames = GetDirectories( directoryPath )         for ( int i = ; i < directoryNames Length; i++ )                DeleteDirectory( directoryNames[i] )                                 #endregion        #region 清空文件内容        /// <summary>        /// 清空文件内容        /// </summary>        /// <param name= filePath >文件的绝对路径</param>        public static void ClearFile( string filePath )                //删除文件        File Delete( filePath )         //重新创建该文件        CreateFile( filePath )                 #endregion        #region 删除指定文件        /// <summary>        /// 删除指定文件        /// </summary>        /// <param name= filePath >文件的绝对路径</param>        public static void DeleteFile( string filePath )                if ( IsExistFile( filePath ) )                File Delete( filePath )                         #endregion        #region 删除指定目录        /// <summary>        /// 删除指定目录及其所有子目录        /// </summary>        /// <param name= directoryPath >指定目录的绝对路径</param>        public static void DeleteDirectory( string directoryPath )                if ( IsExistDirectory( directoryPath ) )                Directory Delete( directoryPath true )                         #endregion                cha138/Article/program/net/201311/12996

相关参考

知识大全 ASP.NET设计网络硬盘之查看文件夹

ASP.NET设计网络硬盘之查看文件夹  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  就像操作本

知识大全 asp.net源程序编译为dll文件并调用过程

  使用csc命令将cs文件编译成dll的过程很多时候我们需要将cs文件单独编译成dll文件 操作如下:打开命令窗口>输入cmd到控制台>cd C:WINDOWSMic

知识大全 Asp.NET大文件上传组件---提取文件内容

Asp.NET大文件上传组件---提取文件内容  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  为

知识大全 深入剖析Asp.net资源文件

深入剖析Asp.net资源文件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一资源文件的定义 

知识大全 asp.net下载文件

  SystemIOFileInfofile=newSystemIOFileInfo(pstrFilePath);  if(fileExists)    ResponseClear();  Respo

知识大全 添加ASP.NET网站资源文件夹

ASP.NET开发宝典:添加ASP.NET网站资源文件夹  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 ASP.NET调用.sql文件

ASP.NET调用.sql文件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  笔者好久没有写随笔

知识大全 在ASP.NET中如何进行文件上传?

在ASP.NET中如何进行文件上传?  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!上传文件的步骤:

知识大全 ASP.NET创建文件并写入内容

ASP.NET创建文件并写入内容  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在ASPNET中

知识大全 ASP.NET下文件批量下载应用

ASP.NET下文件批量下载应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  场景描述  在B