• Chapter 11. WinForm-文件及文件夹操作


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.IO;
    
    namespace 文件及文件夹操作
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            //定义成员变量实例化文件
            FileInfo f = new FileInfo("E:\aa.txt");
    
            private void button1_Click(object sender, EventArgs e)
            {
                //创建文件
                FileStream s = f.Create();
                s.Close();
    
                string fname = f.FullName;   //获取全路径
                string name = f.Name; //获取文件名
                DateTime d1 = f.CreationTime; //获取创建时间
                DateTime d2 = f.LastAccessTime;  //获取最后访问时间
                DateTime d3 = f.LastWriteTime;  //获取最后修改时间
                f.CreationTime = DateTime.Now;  //修改创建时间
                string length = f.Length.ToString();   //获取文件大小
    
                richTextBox1.Text =
                    "创建成功
    文件名:" + name
                    + "
    路径名:" + fname
                    + "
    创建时间:" + d1
                    + "
    修改创建时间:" + f.CreationTime
                    + "
    最后访问时间:" + d2
                    + "
    最后修改时间:" + d3
                    + "
    文件大小:" + length;
            }
    private void button2_Click(object sender, EventArgs e) { //移动文件 f.MoveTo("D:\aa.txt"); //判断移动后的文件是否存在 bool b = f.Exists; if (b) { MessageBox.Show("移动成功"); } else { MessageBox.Show("移动失败"); } }

      
        private void button3_Click(object sender, EventArgs e) { //复制文件 f.CopyTo("C:\aa.txt"); //判断复制的文件是否存在 bool b = f.Exists; if (b) { MessageBox.Show("复制成功"); } else { MessageBox.Show("复制失败"); } }


        private void button4_Click(object sender, EventArgs e) { //删除文件 f.Delete(); bool b = f.Exists; if (b) { MessageBox.Show("删除成功"); } else { MessageBox.Show("文件不存在,删除失败"); } }
    
    
    #region 1.给一个文件夹,获取所有文件数量
    
            //定义成员变量来接受文件数量
            private int fcount = 0;
    
            /// <summary>
            /// 获取文件数量的方法
            /// </summary>
            /// <param name="path">当前文件夹路径</param>
            /// <returns>所有文件数量</returns>
            private int FileCount(string path)
            {
                //实例化当前文件夹对象
                DirectoryInfo d = new DirectoryInfo(path);
    
                //获取当前文件夹下所有文件的数量
                fcount += d.GetFiles().Length;
    
                //获取当前文件夹下所有的文件夹
                foreach (DirectoryInfo data in d.GetDirectories())
                {
                    //递归获取所有文件夹中的文件数量
                    FileCount(data.FullName);
                }
                return fcount;
            }
            private void button5_Click(object sender, EventArgs e)
            {
                textBox1.Text = FileCount(@"E:BaiduYunDownload").ToString();
            }
    
            #endregion
    
             
            #region 2.给一个文件夹,获取所有文件夹数量
    
            //定义成语变量来接收文件夹数量
            private int dcount = 0;
    
            /// <summary>
            /// 获取当前文件夹中所有文件夹数量
            /// </summary>
            /// <param name="path">文件夹路径</param>
            /// <returns>文件夹数量</returns>
            private int DirCount(string path)
            {
                //实例化当前文件夹对象
                DirectoryInfo d = new DirectoryInfo(path);
    
                //获取当前文件夹中的子文件夹数量
                dcount += d.GetDirectories().Length;
    
                //获取当前文件夹中的子文件夹
                foreach (DirectoryInfo data in d.GetDirectories())
                {
                    //递归获取子文件夹中文件夹的数量
                    DirCount(data.FullName);
                }
    
                return dcount;
            }
    
            private void button6_Click(object sender, EventArgs e)
            {
                textBox2.Text = DirCount("E:\BaiduYunDownload").ToString();
            }
    
            #endregion
        
        
            #region 3.给一个文件夹,获取该文件夹大小
    
            //定义成员变量来接受文件夹大小
            private long size = 0;
    
            /// <summary>
            /// 获取文件夹大小的方法
            /// </summary>
            /// <param name="path">文件夹路径</param>
            /// <returns>文件夹大小</returns>
            private long Size(string path)
            {
                //实例化当前文件夹的对象
                DirectoryInfo d = new DirectoryInfo(path);
    
                //获取当前文件夹下的所有文件
                foreach (FileInfo dataf in d.GetFiles())
                {
                    //获取当前文件夹下的所有文件的大小
                    size += dataf.Length;
                }
    
                //获取当前文件夹下的所有子文件夹
                foreach (DirectoryInfo datad in d.GetDirectories())
                {
                    //递归调用方法获取文件大小
                    Size(datad.FullName);
                }
    
                return size;
            }
            private void button7_Click(object sender, EventArgs e)
            {
                textBox3.Text = Size("E:\BaiduYunDownload").ToString() + "字节";
            }
    
            #endregion
        

        
            #region 4.给一个文件夹,删除该文件夹
    
            /// <summary>
            /// 删除文件夹方法
            /// </summary>
            /// <param name="path">文件夹路径</param>
            private void Delete(string path)
            {
                //实例化当前文件夹
                DirectoryInfo d = new DirectoryInfo(path);
    
                //获取当前文件夹下所有的文件
                foreach (FileInfo dataf in d.GetFiles())
                {
                    //删除当前文件夹下的所有文件
                    dataf.Delete();
                }
    
                //获取当前文件夹下的所有文件夹
                foreach (DirectoryInfo datad in d.GetDirectories())
                {
                    //递归删除子文件夹的文件
                    Delete(datad.FullName);
                }
    
                //删除当前空文件夹
                d.Delete();
            }
    
            private void button8_Click(object sender, EventArgs e)
            {
                DirectoryInfo d = new DirectoryInfo(@"E:BaiduYunDownloadaccelerate");
    
                //判断该文件夹是否存在
                bool b = d.Exists;
                if (b)
                {
                    Delete(@"E:BaiduYunDownload.accelerate");
                }
                else { MessageBox.Show("未找到路径为" + @"E:BaiduYunDownloadaccelerate" + "的文件夹"); }
    
            }
           
    #endregion
    
    
        }
    }
  • 相关阅读:
    不支持ie9一下代码
    jquery ajax done 函数 异步调用方法中不能给全局变量赋值的原因及解决办法
    WaitMe是一款使用CSS3来创建加载动画的jQuery插件
    Masked Input这个jQuery插件让用户能够按照预先设定好的固定格式输入数据(如日期、电话号码等)
    Autosize插件允许textarea元素根据录入的内容自动调整元素的高度
    两个列表选项插件bootstrap-duallistbox.js
    jquery滚动插件slimscroll
    modernizr.custom.js应用
    bootbox基于bootstrap的扩展弹窗
    洛谷P3503 [POI2010]KLO-Blocks 单调栈
  • 原文地址:https://www.cnblogs.com/xiao55/p/5838605.html
Copyright © 2020-2023  润新知