您的位置:首页 > 其它

文件及文件夹相关操作

2010-03-11 14:01 417 查看

C#文件及文件夹相关操作

作者:佚名 来源:本站整理 发布时间:2010-1-15 12:50:39

一、获取文件夹列表

/// <summary>
/// 获取文件夹下的文件列表
/// </summary>
/// <param name="Path">string Path:文件夹路径(@"C:\")</param>
/// <param name="SearchPattern">string SearchPattern:扩展名过滤("*.txt")</param>
/// <param name="SearchChild">bool SearchChild:为False不搜索子目录,为True搜索子目录</param>
/// <returns></returns>

public string[] GetFileList(string Path, string SearchPattern, bool SearchChild)
{
//判断文件夹是否存在
if (Directory.Exists(Path)==false)
{
return null;
}
if (SearchChild){
//搜索子目录
return Directory.GetFiles(Path, SearchPattern, SearchOption.AllDirectories);
}
else
{
//不搜索子目录
return Directory.GetFiles(Path, SearchPattern, SearchOption.TopDirectoryOnly);
}
}

二、打开文件

/// <summary>
/// 打开文件
/// </summary>
/// <param name="Path">string Path:文件路径</param>
/// <returns></returns>
public System.Diagnostics.Process OpenFile(string Path)
{
if (File.Exists(Path) == true)
{//打开文件,默认用系统注册类型关联软件打开
return System.Diagnostics.Process.Start(Path);
}
else
{
return null;
}
}

*可对打开的文件进行一些操作:

public System.Diagnostics.Process p1;

p1=OpenFile(@"c:\1.txt");

p1..Kill();//关闭打开的文件

p1.WaitForExit();//等待打开的文件关闭

p1.MainWindowTitle;//获取打开文件主窗口的标题

p1.HasExited;//判断打开的文件是否已关闭

三、获取文件信息

/// <summary>
/// 获取文件信息
/// </summary>
/// <param name="Path">string Path:文件路径</param>
/// <returns></returns>
public FileInfo GetFileInfo(string Path)
{
if (File.Exists(Path) == true)
{
return new FileInfo(Path);

}
else
{
return null;
}
}

*使用方法如下:

FileInfo fi1 = GetFileInfo(@"f:\1.txt");

fi1.Extension;//获取文件的扩展名

fi1.DirectoryName;//获取文件所在完整目录

fi1.Length;//获取文件的字节数

fi1.Name;//获取文件名,包括扩展名

fi1.Name.Replace(f1.Extension, "");//获取文件名,不包括扩展名

四、创建文件夹

/// <summary>
/// 创建文件夹
/// </summary>
/// <param name="Path">string Path:文件夹路径</param>
/// <returns></returns>
public bool CreateDir(string Path)
{
try
{//判断文件夹是否存在
if (Directory.Exists(Path) == false)
{
Directory.CreateDirectory(Path);
return true;
}
else
{
return false;
}

}
catch
{
return false;
}
}

五、用二进制数组生成文件
/// <summary>
/// 用二进制数组Byte[]生成文件
/// </summary>
/// <param name="FileFullPath">string Path:要生成的文件全路径</param>
/// <param name="StreamByte">byte[] StreamByte:要生成文件的二进制 Byte 数组</param>
/// <returns></returns>
public bool ByteStreamToFile(string Path, byte[] StreamByte)
{
try
{//判断要创建的文件是否存在,若存在则先删除
if (File.Exists(Path) == true)
{
File.Delete(Path);
}
//创建文件流(打开或创建的方式)
FileStream FS = new FileStream(Path, FileMode.OpenOrCreate);
//把文件流写到文件中
FS.Write(StreamByte, 0, StreamByte.Length);
FS.Close();
return true;
}
catch
{
return false;
}
}

六、获取系统文件夹

Environment.GetFolderPath(Environment.SpecialFolder.Startup)

说明:

ApplicationData 目录,它用作当前漫游用户的应用程序特定数据的公共储存库。
CommonApplicationData 目录,它用作所有用户使用的应用程序特定数据的公共储存库。
CommonProgramFiles 用于应用程序间共享的组件的目录。
Cookies 用作 Internet Cookie 的公共储存库的目录。
Desktop 逻辑桌面,而不是物理文件系统位置。
DesktopDirectory 用于物理上存储桌面上的文件对象的目录。
Favorites 用作用户收藏夹项的公共储存库的目录。
History 用作 Internet 历史记录项的公共储存库的目录。
InternetCache 用作 Internet 临时文件的公共储存库的目录。
LocalApplicationData 目录,它用作当前非漫游用户使用的应用程序特定数据的公共储存库。
MyComputer “我的电脑”文件夹。
MyMusic “My Music”文件夹。
MyPictures “My Pictures”文件夹。
Personal 用作文档的公共储存库的目录。
ProgramFiles “Program files”目录。
Programs 包含用户程序组的目录。
Recent 包含用户最近使用过的文档的目录。
SendTo 包含“发送”菜单项的目录。
StartMenu 包含“开始”菜单项的目录。
Startup 对应于用户的“启动”程序组的目录。
System “System”目录。
Templates 用作文档模板的公共储存库的目录。

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: