asp.net 文件操作
asp.net 文件操作
一、文件操作常用的相关类
类名 |
作用 |
File |
静态类,对文件整体操作、拷贝、删除、剪切等 |
Directory |
静态类,操作目录(文件夹) |
DirectoryInfo |
文件夹的一个“类”,用来描述一个文件夹对象 |
FileInfo |
文件类,用来描述一个文件对象 |
Path |
对文件或目录的路径进行操作 |
Stream |
文件流,抽象类,FileStream 文件流,MemoryStream 内存流,NetworkStream 网络流,StreamReader 快读读取文本文件,StreamWriter 快速写入文本文件。 |
二、Path类
方法名 |
作用 |
ChangeExtension |
修改文件的后缀,Path.ChangeExtension(@”c:\temp\f3。png”,”jpg”) |
Combine |
将两个路径合并成一个路径,Path.Combine(@”c:\temp”,”a。jpg”) |
GetDiretoryName |
得到文件的路径名,Path.GetDirectoryName(@”c:\temp\a。jpg”) |
GetDiretoryName |
得到文件的扩展名,Path.GetExtension(@”c:\temp\a。jpg”) |
GetFileName |
得到文件路径的文件名部分 |
GetFileNameWithoutExtension |
得到去除扩展名的文件名 |
GetFullPath |
得到文件的全路径,可根据相对路径得到绝对路径 |
Assmbly.GetExecutiongssembly().Location |
得到当前运行的程序集的路径 |
三、File类
方法名 |
作用 |
Create |
创建制定的文件,如果文件存在则覆盖,File.Create(@:”c:\1。txt”) |
AppendAllText |
将制定的字符串追加到文本中,如果文件不存在,则创建该文件,File.AppendAllText(@“c:\1。txt”,”哈哈”) |
AppendAllLines |
在一个文件中追加文本行,如果文件不存在,则创建 |
Copy |
将现有文件复制到新文件 |
Delete |
将现有文件复制到新文件 |
Exists |
判断指定路径的文件是否存在 |
Move |
文件移动 |
ReadAllText |
读取文件所有行 |
ReadAllLines |
读取文本文档,返回字符串数组 |
WriteAllText |
写入制定的字符串 |
WriteAllLines |
写入指定的字符串数组 |
四、Directory类
方法名 |
作用 |
CreateDirectory |
在指定路径创建所有目录和子目录 |
Delete |
删除目录 |
Exists |
路径是否存在 |
GetDirectories |
获取指定目录中的子目录的名称 |
GetFiles |
返回指定目录中文件的名称 |
GetFileSystemEntries |
返回指定目录中所有文件和子目录的名称 |
GetParent |
获取指定路径的父目录 |
Move |
将文件或目录及其内容移到新的位置 |
五、asp.net文件操作类
C# 代码 复制
/**//**
文件操作类
**/
引用命名空间#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 > 0 )
...{
return false;
}
//判断是否存在文件夹
string[] directoryNames = GetDirectories( directoryPath );
if ( directoryNames.Length > 0 )
...{
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">模式字符串,"*"代表0或N个字符,"?"代表1个字符。
/// 范例:"Log*.xml"表示搜索所有以Log开头的Xml文件。</param>
public static bool Contains( string directoryPath, string searchPattern )
...{
try
...{
//获取指定的文件列表
string[] fileNames = GetFileNames( directoryPath, searchPattern, false );
//判断指定文件是否存在
if ( fileNames.Length == 0 )
...{
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">模式字符串,"*"代表0或N个字符,"?"代表1个字符。
/// 范例:"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 == 0 )
...{
return false;
}
else
...{
return true;
}
}
catch ( Exception ex )