C#File类常用的文件操作方法(创建、移动、删除、复制等)
File类,是一个静态类,主要是来提供一些函数库用的。静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和 打开一个文件。
File类方法的参量很多时候都是路径path。File的一些方法可以返回FileStream和StreamWriter的对象。可以 和他们配套使用。System.IO.File类和System.IO.FileInfo类
主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间。
一、File类常用的操作方法
1、创建文件方法
//参数1:要创建的文件路径
File.Create(@"D:\Test\Debug1\测试.txt")
2、打开文件方法
//参数1:要打开的文件路径,参数2:打开的文件方式
File.Open(@"D:\Test\Debug1\测试.txt",FileMode.Append)
3、追加文件方法
//参数1:要追加的文件路径,参数2:追加的内容
File.AppendAllText(@"D:\Test\Debug1\测试.txt","哈哈");
4、复制文件方法
//参数1:要复制的源文件路径,参数2:复制后的目标文件路径,参数3:是否覆盖相同文件名
File.Copy(@"D:\Test\Debug1\测试.txt", @"D:\Test\Debug2\测试1.txt", true);
5、移动文件方法
//参数1:要移动的源文件路径,参数2:移动后的目标文件路径
File.Move(@"D:\Test\Debug1\测试.txt", @"D:\Test\Debug3\测试2.txt");
6、删除文件方法
//参数1:要删除的文件路径
File.Delete(@"D:\Test\Debug1\测试.txt");
7、设置文件属性方法
//参数1:要设置属性的文件路径,参数2:设置的属性类型(只读、隐藏等)
File.SetAttributes(@"D:\Test\Debug1\测试.txt", FileAttributes.Hidden);
二、界面和源码例子:
1、界面布局
2、源码例子:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace FileHandleTest { public partial class Form1 : Form { public Form1() { InitializeComponent(); } #region Files类的文件操作方法(创建、复制、删除、移动、追加、打开、设置属性等) static string path = @"D:\Test\Debug1\测试.txt"; //源文件路径 static string path1 = @"D:\Test\Debug2\测试1.txt"; //文件复制路径 static string path2 = @"D:\Test\Debug3\测试2.txt"; //文件移动路径 static string path3 = @"C:\测试3.txt"; //跨盘符存放路径(测试) /// <summary> /// 1、创建文件方法 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btncreate_Click(object sender, EventArgs e) { //参数1:指定要判断的文件路径 if (!File.Exists(path)) { //参数1:要创建的文件路径,包含文件名称、后缀等 FileStream fs = File.Create(path); fs.Close(); MessageBox.Show("文件创建成功!"); } else { MessageBox.Show("文件已经存在!"); } } /// <summary> ///2、 打开文件的方法 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnopen_Click(object sender, EventArgs e) { if (File.Exists(path)) { //参数1:要打开的文件路径,参数2:打开的文件方式 FileStream fs = File.Open(path, FileMode.Append); //字节数组 byte[] bytes = { (byte)'h', (byte)'e', (byte)'l', (byte)'l', (byte)'o' }; //通过字符流写入文件 fs.Write(bytes, 0, bytes.Length); fs.Close(); MessageBox.Show("打开并追加Hello成功!"); } else { MessageBox.Show("文件不存在!"); } } /// <summary> /// 3、追加文件内容方法 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnappend_Click(object sender, EventArgs e) { string appendtext = this.txtContent.Text; if (File.Exists(path)) { //参数1:要追加的文件路径,参数2:追加的内容 File.AppendAllText(path, appendtext); MessageBox.Show("文件追加内容成功!"); } else { MessageBox.Show("文件不存在!"); } } /// <summary> /// 4、复制文件方法(只能在同个盘符进行操作) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btncopy_Click(object sender, EventArgs e) { if (File.Exists(path)) { //参数1:要复制的源文件路径,参数2:复制后的目标文件路径,参数3:是否覆盖相同文件名 File.Copy(path, path1, true); MessageBox.Show("复制文件成功!"); } else { MessageBox.Show("文件不存在!"); } } /// <summary> /// 5、移动文件方法(只能在同个盘符进行操作) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnmove_Click(object sender, EventArgs e) { if (File.Exists(path)) { //参数1:要移动的源文件路径,参数2:移动后的目标文件路径 File.Move(path, path2); MessageBox.Show("移动文件成功!"); } else { MessageBox.Show("文件不存在!"); } } /// <summary> /// 6、删除文件方法 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btndelete_Click(object sender, EventArgs e) { if (File.Exists(path)) { //参数1:要删除的文件路径 File.Delete(path); MessageBox.Show("文件删除成功!"); } else { MessageBox.Show("文件不存在!"); } } /// <summary> ////7、设置文件属性方法 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnset_Click(object sender, EventArgs e) { if (File.Exists(path)) { //参数1:要设置属性的文件路径,参数2:设置的属性类型(只读、隐藏等) File.SetAttributes(path, FileAttributes.Hidden); MessageBox.Show("设置文件属性为隐藏成功!"); } else { MessageBox.Show("文件不存在!"); } } #endregion } }
参考来源:http://www.cnblogs.com/mfc-itblog/p/5771780.html