文件操作
简介:
*计算机系统的主要功能之一是能够快速处理大量信息,主要通过文件的方式来组织和存储数据
* 文件系统是操作系统的重要组成部分,其主要职责有文件储存,文件存放,文件新增、拷贝、删除以及文件安全保障等
* C#根据功能的不同,分别提供3种文件对话框,方便用户对文件进行操作。
一、文本对话框
三种不同功能的文件对话框:
*C#中3种文件对话框,分别实现不同的功能
* 1.打开文件对话框OpenFileDialog(用于选择需要打开的文件)
* 2.保存文件的对话框SaveFileDialog(用于选择文件保存的位置)
* 3.文件夹浏览的对话框FolderBroswerDialog(用于选择文件夹)
OpenFileDialog对话框属性(与SaveFileDialog保存文件对话框属性基本一致)
InitialDirectory:设置对话库的初始目录
FileName:可以帮助当前用户来获得所选择的文件,所对应的路径
FilterIndex与Filter属性:主要用来设置筛选器(通过后缀名进行筛选)
//使用任何对话框前,先判断ShowDialog()的返回值是否为DialogResult.OK,再进行选择后的操作
//OpenFileDialog对话框
private void button1_Click(object sender, EventArgs e)
{
//所有对话框使用ShowDialog()方法,运行对话框,返回值为DialogResult类型
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
//OpenFileDialog对话框可以通过FileName属性获取当前选择的文件路径
//获取用户选择的文件所对应的路径
this.textBox1.Text = this.openFileDialog1.FileName;
}
}
//saveFileDialog对话框
private void button2_Click(object sender, EventArgs e)
{
if (this.saveFileDialog1.ShowDialog() == DialogResult.OK)
{
this.textBox1.Text = this.saveFileDialog1.FileName;
}
}
//folderBrowserDialog对话框通过SelectedPath属性获取当前选择文件夹的路径
private void button3_Click(object sender, EventArgs e)
{
//所有对话框使用ShowDialog()方法,运行对话框,返回值为DialogResult类型
if (this.folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
//获取用户选择的"文件夹"所对应的路径
this.textBox1.Text = this.folderBrowserDialog1.SelectedPath;
}
}
二、文件常规操作
*文件管理是操作系统的重要组成部分,主要包括创建、移动、复制和删除等操作()
* 在C#中可以通过File类和FileInfo类方便的实现上述操作
1.两者的主要区别是:
File为静态类只包含静态方法,不能被实例化,方法调用方便,但执行效率较低,
Filelnfo为非静态类,必须创建对象,才能调用方法,但执行效事较高。
2.File2和FileInfo类均存在与System.I0合名空间中。
3.File类常用方法
Exists();用于检测指定文件是否存在
Copy();将现有文件复制到新文件中
Move();将指定文件移动到新位置
Delete();删除指定文件
//文件移动
//判断需要移动的文件是否存在
//Exists用于检测指定的文件是否存在
if (File.Exists(textBox1.Text))
{
//如果存在就可以移动文件
//Move指定文件移动到新位置
//File.Move(原文件位置, 新文件位置);
File.Move(textBox1.Text, textBox2.Text);
MessageBox.Show("移动成功!");
}
二、文件夹常用操作
文件夹操作方法介绍:
文件夹管理是操作系统的重要组成部分,主要包括创建、移动和删除等操作。
在C#中提供了Directory类和DirectoryInfo 类用于对磁盘和文件夹进行操作管理。
常用属性即要点:
1.CreateDirectory():在指定路径创建所有目录和子目录。
2.Delete(string, bool):删除指定的文件夹, 为了保证删除成功,一般设置为true。
如果不加true就必须保证要删除的目录为空
3.Move():将指定文件夹移动到新位置。Directory.Move(textBox1.Text,path);
4.Directory.Exists(textBox1.Text);判断文件夹是否存在
5.//获取该目录下的全部子目录中文件的名字(包括文件路径)
string filesName = Directory.GetFiles(pathStr);
示例:
private void button1_Click(object sender, EventArgs e)
{
if (this.folderBrowserDialog1.ShowDialog()==DialogResult.OK)
{
//获取文件夹路径
this.textBox1.Text = this.folderBrowserDialog1.SelectedPath;
}
}
private void button2_Click(object sender, EventArgs e)
{
//判断文本框里面是否有内容
if (!string.IsNullOrEmpty(textBox1.Text))
{
//获取要创建文件夹的路径和问价夹名称
string path = textBox1.Text+"\\"+textBox2.Text;
// CreateDirectory():在指定路径创建所有目录和子目录。
//用于创建文件夹
Directory.CreateDirectory(path);
MessageBox.Show("创建成功!");
}
else
{
MessageBox.Show("请选择需要创建目录的文件夹!");
}
}
private void groupBox4_Enter(object sender, EventArgs e)
{
}
private void button4_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(textBox1.Text))
{
if (Directory.Exists(textBox1.Text))
{
//删除指定路径下的文件夹
//Delete(string, bool):删除指定的文件夹, 为了保证删除成功,一般设置为true。
//如果不加true就必须保证要删除的目录为空
Directory.Delete(this.textBox1.Text,true);
MessageBox.Show("删除成功!");
}
else
{
MessageBox.Show("需要删除的文件夹不存在!");
}
}
else
{
MessageBox.Show("请选择要删除的文件夹!");
}
}
private void button3_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(textBox1.Text))
{
if (folderBrowserDialog1.ShowDialog()==DialogResult.OK)
{
string path = folderBrowserDialog1.SelectedPath + "\\" + textBox3.Text;//新路径
//Move():将指定文件夹移动到新位置。
Directory.Move(textBox1.Text,path);
MessageBox.Show("移动成功!");
}
}
else
{
MessageBox.Show("请选择要移动的文件夹!");
}
}