System.IO命名空间
System.IO命名空间包含允许在数据流和文件上进行同步和异步读取及写入的类型
文件和流的区别:
文件是一些具有永久存储及特定顺序的字节组成的一个有序的,具有名称的集合.
流提供一种向后备存储写入字节和从后备存储读取字节的方式.后备存储可以为多种存储媒介之一.
File类和Directory类
File和Directory类分别用来对文件和各种目录进行操作,这两个类可以被实例化但不能被其他类继承。File类和Directory类可以进行文件和文件夹的创建,复制,移动和删除
1.File类中的方法都是静态的,如果只想执行一个操作,那么使用File类中的方法的效率回避FileInfo类中的可能更高
例:使用file类中的方法
namespace 文件及数据流技术
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "")
{
MessageBox.Show("文件名不能为空");
}
else
{
if (File.Exists(textBox1.Text))
{
MessageBox.Show("该文件已经存在");
}
else
{
File.Create(textBox1.Text);
}
}
}
private void button2_Click(object sender, EventArgs e)
{
if (textBox2.Text == "")
{
MessageBox.Show("请输入要删除的文件名称");
}
else
{
File.Delete(textBox2.Text);
}
}
}
}
Directory类
Directory类公开了用于创建移动枚举,删除目录和子目录的静态方法
FileInfo类
FileInfo类和File类之间许多方法都是相同的,但FileInfo没有静态方法,该类中的方法仅可以用于实例化对象.如果要对某个对象进行重复操作,应使用Fileinfo类
Fileinfo fi=new Fileinfo(path);
DirectoryInfo
遍历文件夹
遍历文件夹时,可以分别用DirectoryInfo类中的GetDirectories,GetFiles和GetFileSystemInfos方法.
1.GetDirectories
返回当前目录的子目录.该方法为可重载方法.
2.GetFiles
返回当前目录的文件列表
3.GetFileSystemInfos
返回表示某个目录中所有文件和子目录的FileSystemInfo类型数组
注:一般遍历问件时,都使用GetFileSystemInfos方法,因为GetDirectories方法只遍历文件中的子文件夹,GetFiles只遍历文件夹中的文件,GetFileSystemInfos遍历文件夹中的所有子文件夹及文件