2013年1月5日,天气好冷
C#学习,文件和目录操作
使用到的4个类:
File和Directory、FileInfo和DirectoryInfo
File与FileInfo类有什么区别?
File是静态类,而FileInfo是非静态类。它们之间的方法是类似的。
同样,Directory与DirectoryInfo类之间的区别,与File和FileInfo之间的区别是一样的。
下面是本人简单做的一个图形界面例子。
废话不说:上代码。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace FileAndFolder
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == string.Empty)
{
MessageBox.Show("文件名称不能为空!");
}
else
{
if (File.Exists(textBox1.Text))
{
MessageBox.Show("文件存在!");
}
else
{
MessageBox.Show("文件不存在!");
}
}
}
private void button2_Click(object sender, EventArgs e)
{
if (textBox1.Text == string.Empty)
{
MessageBox.Show("文件名称不能为空!");
}
else
{
FileInfo finfo = new FileInfo(textBox1.Text);
if (finfo.Exists)
{
MessageBox.Show("文件存在!");
}
else
{
MessageBox.Show("文件不存在!");
}
}
}
private void button3_Click(object sender, EventArgs e)
{
if (textBox1.Text == string.Empty)
{
MessageBox.Show("文件名称不能为空!");
}
else
{
try
{
FileStream fs = File.Create(textBox1.Text); //创建文件,并返回文件流
fs.Close();
MessageBox.Show("创建成功!", "信息提示");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
private void button4_Click(object sender, EventArgs e)
{
try
{
FileInfo finfo = new FileInfo(textBox1.Text);
using (FileStream fs = finfo.Create())
{
MessageBox.Show("创建文件成功!");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button5_Click(object sender, EventArgs e)
{
try
{
//实现把Test.txt文件从C盘根下复制到D盘根下
File.Copy("C:\\Test.txt", "D:\\Test.txt");
MessageBox.Show("复制成功!", "信息提示");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button6_Click(object sender, EventArgs e)
{
try
{
FileInfo finfo = new FileInfo("C:\\Test.txt");
finfo.CopyTo("D:\\Test.txt", true);
MessageBox.Show("复制文件成功!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button7_Click(object sender, EventArgs e)
{
try
{
File.Move("C:\\Test.txt", "D:\\Test.txt");
MessageBox.Show("移动文件成功!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button8_Click(object sender, EventArgs e)
{
try
{
FileInfo finfo = new FileInfo("C:\\Test.txt");
finfo.MoveTo("D:\\Test.txt");
MessageBox.Show("移动文件成功!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button9_Click(object sender, EventArgs e)
{
try
{
File.Delete(textBox1.Text);
MessageBox.Show("删除文件成功!","信息提示");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button10_Click(object sender, EventArgs e)
{
try
{
FileInfo finfo = new FileInfo(textBox1.Text);
finfo.Delete();
MessageBox.Show("删除文件成功!", "信息提示");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button11_Click(object sender, EventArgs e)
{
if (Directory.Exists(textBox2.Text)) //若存在指定文件夹
{
MessageBox.Show("指定文件夹存在!");
}
else //若不存在指定文件夹
{
MessageBox.Show("指定文件夹不存在!");
}
}
private void button12_Click(object sender, EventArgs e)
{
DirectoryInfo dinfo = new DirectoryInfo(textBox2.Text);
if (dinfo.Exists) //若存在指定的文件夹
{
MessageBox.Show("指定文件夹存在!");
}
else //若不存在指定的文件夹
{
MessageBox.Show("指定文件夹不存在!");
}
}
private void button13_Click(object sender, EventArgs e)
{
try
{
Directory.CreateDirectory(textBox2.Text);
MessageBox.Show("创建文件夹成功!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button14_Click(object sender, EventArgs e)
{
try
{
DirectoryInfo dinfo = new DirectoryInfo(textBox2.Text); //创建DirectoryInfo类的对象
dinfo.Create(); //通过DirectoryInfo类的对象创建指定文件夹
MessageBox.Show("创建文件夹成功!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button15_Click(object sender, EventArgs e)
{
try
{
if (!Directory.Exists("C:\\Test")) //若Test文件夹不存在
{
Directory.CreateDirectory("C:\\Test"); //创建Test文件夹
}
if (!Directory.Exists("C:\\MR")) //若MR文件夹不存在
{
Directory.CreateDirectory("C:\\MR"); //创建MR文件夹
}
//把C盘根下的Test文件夹移动到C盘根下的MR文件夹中
Directory.Move("C:\\Test ", "C:\\MR\\Test");
MessageBox.Show("移动文件夹成功!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button16_Click(object sender, EventArgs e)
{
try
{
DirectoryInfo dinfoMR = new DirectoryInfo("C:\\MR");
if (!dinfoMR.Exists) //若MR文件夹不存在
{
dinfoMR.Create(); //则创建MR文件夹
}
DirectoryInfo dinfoTest = new DirectoryInfo("C:\\Test");
if (!dinfoTest.Exists) //若Test文件夹不存在
{
dinfoTest.Create(); //则创建Test文件夹
}
dinfoTest.MoveTo("C:\\MR\\Test");
MessageBox.Show("移动文件夹成功!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button17_Click(object sender, EventArgs e)
{
try
{
Directory.Delete(textBox2.Text); //删除指定文件夹
MessageBox.Show("删除文件夹成功!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button18_Click(object sender, EventArgs e)
{
try
{
DirectoryInfo dinfo = new DirectoryInfo("C:\\Test"); //创建DirectoryInfo类的对象
dinfo.Delete(); //通过DirectoryInfo类的对象删除指定文件夹
MessageBox.Show("删除文件夹成功!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}