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

时间: 2024-12-29 07:27:58

C#File类常用的文件操作方法(创建、移动、删除、复制等)的相关文章

Java文件File操作一:文件的创建和删除

一.简述 File 文件类,主要对文件进行相关操作.常用的File操作有:文件(夹)的创建.文件(夹)的删除,文件的读入和下载(复制)等: 二.文件(夹)的创建和删除 1.创建过程 实例: //create a new File @Test public void testCreateFile(){ File m=new File("E://file"); //創建文件夾 //判断文件夹存在否 if(!m.exists()){ m.mkdir(); //创建文件夹 } File f=n

File类——renameTo()将文件夹内的所有指定类型文件 移动到另一个文件夹内

* 由于   张孝祥-7K月薪面试题破解之一_交通灯管理系统视频教程 文件夹下 的视频文件都存放在每个子文件夹中 * 需求:将所有视频文件全部移动到  张孝祥-7K月薪面试题破解之一_交通灯管理系统视频教程文件夹下  原来存放视频的子文件夹删除 public class moveFiles { public static void main(String[] args) { // TODO Auto-generated method stub File f = new File("D:\\Bai

C++文件的创建、删除、更改文件名操作(代码)

#pragma once #ifndef __FileOperation_H__ #define __FileOperation_H__ #include <string> using namespace std; class FileOperation { public: // 构造函数,dir为文件夹名称:标注.书签.试题.模型及动画.media.界面等 FileOperation( string dir ); ~FileOperation(void); // 创建一个文件名为filena

.Net学习笔记----2015-06-25(File类的读写文件、List泛型集合、装箱和拆箱、Dictionary字典集合)

File类:静态类,Create Delete Copy Move ,主要用来对数据对文本文件进行读写 File类:缺点:只能读写小文件 读写操作: //byte[] buffer = File.ReadAllBytes(@"C:\Users\Administrator\Desktop\new.txt"); ////将字节数组中的每一个元素都要按照我们指定的编码各式解码成字符串 ////UTF-8 GB2312 GBK ASCII Unicode //string s = Encodi

[软件]_[Windows]_[产品开发时常用的文件操作方法]

场景: 1. 开发Windows产品时,很多东西都需要自己封装,因为它不像Cocoa那样有很好的对象模型,通过类就可以访问文件相关方法. 比如复制文件夹? 要知道Win32是否提供复制文件夹这个函数还真的通过baidu. MSDN真的很差. 2. 界面开发时打开选择文件夹窗口等. 3. 设置文件创建时间和修改时间等. 4. 也是可以在产品中移植. bas_utility_file.h: #ifndef __BAS_UTILITY_FILE_H #define __BAS_UTILITY_FILE

Java 基础【12】java.io.file 文件(文件夹) 创建和删除

使用 java.io.file 创建文件(文件夹),算是 java 最基础的知识. JDK API 中描述: 来段代码会看的更清楚: File file1 = new File("F:/AAA/BBB/CCC"); if (file1.mkdirs()) { System.out.println("多级层文件夹创建成功!创建后的文件目录为:" + file1.getPath() + ",上级文件为:" + file1.getParent());

java处理Excel文件---excel文件的创建,删除,写入,读取

这篇文章的代码是我封装的excel处理类,包含推断excel是否存在,表格索引是否存在,创建excel文件,删除excel文件,往excel中写入信息,从excel中读取数据. 尤其在写入与读取两个方法中,我採用了java反射机制去实现,以object对象作为參数就可以.代码自己主动解析该实体类的属性与方法.代码重用性高. 代码另一些须要改进和扩展的地方.大家能够依据实际情况进行简单改动. 上代码,首先是我封装的这个类(採用的是POI包): package module.system.commo

文件的创建、删除、重命名

-------------siwuxie095 工程结构目录如下: 1.文件的创建: 代码: package com.siwuxie095.file; import java.io.File; import java.io.IOException; public class HelloFile { public static void main(String[] args) { //由于只指定了文件名,而没有指定路径,即相对路径 //对于一个工程而言,其相对路径即工程本身的文件夹(目录) Fil

DDL 数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制

/*进阶 11 DDL 数据库定义语言 库和表的管理 一:库的管理:创建/修改/删除 二:表的管理:创建/修改/删除 创建: CREATE DATABASE [IF NOT EXISTS] 库名; 修改: alter 删除: DROP DATABASE [IF EXISTS] 库名; */ #一 : 库的管理 #1 库的创建 CREATE DATABASE books; CREATE DATABASE IF NOT EXISTS books; #2/库的修改 #库名的修改,需要停止服务器,然后修