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); } } } }