Csharp进阶:文件流之Directory类和DirectoryInfo类,FileStream 类
来源:互联网 发布:域名还要买 编辑:程序博客网 时间:2024/06/05 23:42
在程序开发中,不仅需要对文件进行操作,而且还需要对文件目录进行操作。例如创建目录,删除目录等,为此C#提供了Directory类和DirectoryInfo类。
******************************
Directory类是静态类,提供了许多静态方法用于对目录进行操作,例如创建、删除、查询和移动目录等。
静态方法,在指定目录创建所有目录和子目录
Directory.CreateDirectory(path);
******************************
DirectoryInfo类的功能与Directory类相似,不同的是DirectoryInfo是一个实例类,该类不仅拥有与Directory类功能相似的方法,而且还具有一些特有的属性。
实例方法,检索指定的父目录
DirectoryInfo di = Directory.GetParent(path);
FileStream 类
FileStream 类表示在磁盘或网络路径上指向文件的流,并提供了在文件中读写字节和字节数组的方法,通过这些方法,FileStream 对象可以读取诸如图像、声音、视频、文本文件等,也就是说FileStream类能够处理各种数据文件。
FileStream类有很多重载的构造方法,其中最常用的是带有三个参数的构造方法,具体如下。
FileStream(stringpath, FileMode mode, FileAccess access);
上述构造方法中,第一个参数path表示的是文件路径名,第二个参数mode表示如何打开或创建文件,第三个参数access用于确定 FileStream 对象访问文件的方式。
创建一个是否有此文件(没有则创建有则打开),并从中读取数据的实例文件流。
fsRead=new FileStream(sourcePath,FileMode.OpenOrCreate,FileAccess.Read);
创建一个是否有此文件(没有则创建有则打开)并向其中写入数据的实例文件流。
fsWrite= new FileStream(destPath,FileMode.OpenOrCreate, FileAccess.Write);
搭配使用使第一个文件的数据以字节为单位全部写入第二个文件
int temp = -1;
while ((temp = fsRead.ReadByte()) != -1)
{
fsWrite.WriteByte((byte)temp)
}
数据流通常与try-catch-catch-finally搭配寻找异常的实例
FileStream fsRead = null;
FileStream fsWrite =null;
try
{
fsRead = new FileStream(sourcePath, FileMode.OpenOrCreate,FileAccess.Read);
fsWrite = new FileStream(destPath, FileMode.OpenOrCreate,FileAccess.Write);
int temp = -1;
while ((temp = fsRead.ReadByte()) != -1)
{
fsWrite.WriteByte((byte)temp);
}
}
catch(IOException e)(IO异常)
{
Console.WriteLine(e.Message);
}
catch(Exception e)(其他异常)
{
Console.WriteLine(e.Message);
}
finally
{
fsRead.Close();
fsWrite.Close();
}
- Csharp进阶:文件流之Directory类和DirectoryInfo类,FileStream 类
- 文件操作类StreamWriter 、StreamReader、FileStream 、File、FileInfo 、DirectoryInfo 、Directory
- Csharp进阶:文件流之File类
- Csharp进阶:文件流之FileInfo类
- C#文件夹操作之Directory类和DirectoryInfo类
- Csharp进阶:文件流之StreamReader类和StreamWriter类,BufferedStream类
- C#文件与流(FileStream、StreamWriter 、StreamReader 、File、FileInfo、Directory、DirectoryInfo、Path、Encoding)
- 文件与流(FileStream、StreamWriter 、StreamReader 、File、FileInfo、Directory、DirectoryInfo、Path、Encoding)
- 关于Path类和Directory类、DirectoryInfo类总结
- C#中File FileInfo 和Directory DirectoryInfo 类的区别
- FileStream文件流类
- 文件流类FileStream
- Csharp:file与filestream类区别
- C#IO 文件读取笔记一(File类和Directory类相关属性,FileInfo类和DirectoryInfo类)
- DirectoryInfo 类
- DirectoryInfo类
- DirectoryInfo类
- DirectoryInfo类
- contiki之uip-ds6-route头文件
- LintCode:M-不同的二叉查找树个数
- 单例模式:双重锁校验可能存在的问题。
- Java 多线程join方法
- 编译选项默认关闭adb RSA指纹认证
- Csharp进阶:文件流之Directory类和DirectoryInfo类,FileStream 类
- 求逆序对
- 19_字符串移位包含问题
- tableViewCell设置底部线长度与屏幕等宽(备忘)
- hdu2966 In case of failure(这道题就和ta的name一样,failure)
- Datatable回到当前页
- Web应用的目录结构
- 图形与图像编程(五)-图像控制
- 统计 (dp 求n位无前导零且数码从高到低非降并模 m等于 0的数个数 )