广告
返回顶部
首页 > 资讯 > 后端开发 > Python >3-1 Fileinfo类的常用方法
  • 675
分享到

3-1 Fileinfo类的常用方法

常用方法Fileinfo 2023-01-31 07:01:10 675人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

1. 案例学习:了解FileInfo类的一些主要属性 下面的示例演示了 FileInfo类的一些主要属性。 using System; using S

1. 案例学习:了解FileInfo类的一些主要属性

下面的示例演示了 FileInfo类的一些主要属性。
using System;

using System.io;

class Test

{

    public static void Main()

{

        string fileName = "C:\\autoexec.bat";

            FileInfo fileInfo = new FileInfo(fileName);

            if (!fileInfo.Exists)

            {

                return;

            }

            Console.WriteLine("{0} has a directoryName of {1}",fileName,fileInfo.DirectoryName);

           

    }

}

2.案例学习:实现文件的复制

本案例将解决,同磁盘环境下文件复制的问题。请尝试把C:\WinNT\Win.INI文件拷贝到C:\下的代码,怎么写呢?
u实验步骤(1):

向一个FORM窗体上拖拽三个Button控件,三个控件的text属性分别设置为“复制文本文件”、“创建文本文件”、 “删除文本文件”。如图3-3所示:

图3-3  文件操作界面图

u实验步骤(2):

双击“复制文本文件”、“创建文本文件”、“删除文本文件”,在click事件处理方法里分别添加代码如下:
using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.windows.Forms;

using System.IO;

namespace FileOptionApplication

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        /// <summary>

        /// 复制文本文件

        /// </summary>

        private void button1_Click(object sender, EventArgs e)

        {

            string somefile = @"C:\Documents and Settings\Administrator\My Documents\SQL Server2000安装故障.txt";

            string target = @"c:\2.txt";

            if (!File.Exists(somefile))

            {

                MessageBox.Show("文件不存在!");

            }

            else

            {

                if (File.Exists(target))

                {

                    File.Delete(target);

                }

                File.Copy(somefile, target);

                MessageBox.Show("文件复制成功!");

            }

        }

         /// <summary>

        /// 创建文本文件

        /// </summary>

        private void button2_Click(object sender, EventArgs e)

        {

            string target = @"c:\2.txt";

            if (File.Exists(target))

            {

                File.Delete(target);

            }

            File.CreateText(target);

        }

        /// <summary>

        /// 删除文本文件

        /// </summary>

        private void button3_Click(object sender, EventArgs e)

        {

            string target = @"c:\2.txt";

            if (File.Exists(target))

            {

                File.Delete(target);

                MessageBox.Show("文件删除成功!");

            }

        }

    }

}

问题讨论:

刚才的实验我们是通过File类实现并完成任务的,那么此次我们通过更换FileInfo类执行同样的复制动作如何实现呢?请将button1_Click的代码替换为下列代码试试:

     private void button1_Click(object sender, EventArgs e)

        {

            string path = @"C:\WINDOWS\IE4 Error Log.txt";

            string target = @"c:\1.txt";

            FileInfo myfile = new FileInfo(path);

            if (!myfile.Exists)

            {

                MessageBox.Show("对不起,未发现路径文件!");

            }

            else

            {

                myfile.CopyTo(target);

                MessageBox.Show("复制成功!");

            }

       }

3.案例学习:获取文件基本信息

本案例将解决,如何显示文件的基本信息问题。
u实验步骤(1):

向一个Form窗体上拖拽三个Lable控件和一个Button控件,Button控件的text属性设置为“获取文件信息”。如图3-4所示:

图3-4  获取文件信息界面图

u实验步骤(2):

双击“获取文件信息”,在click事件处理方法里分别添加代码如下:
using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.IO;

 

namespace FileOptionApplication

{

    public partial class Form2 : Form

    {

        public Form2()

        {

            InitializeComponent();

        }

         /// <summary>

        /// 获取文件信息单击事件

        /// </summary>

        private void button1_Click(object sender, EventArgs e)

        {

            string somefile = @"C:\Documents and Settings\Administrator\My Documents\sql Server2000安装故障.txt";

            FileInfo myfile = new FileInfo(somefile);

            if (myfile.Exists)

            {

                MessageBox.Show("文件已经存在");

                label1.Text = "文件创建时间:" + myfile.CreationTime.ToString();

                label2.Text = "文件夹:" + myfile.Directory.ToString();

                label3.Text = "文件夹名称:" + myfile.DirectoryName.ToString() + ",文件扩展名:" + myfile.Extension.ToString();

            }

            else

            {

                MessageBox.Show("文件并不存在");

            }

        }

    }

}

问题讨论:

FileInfo类和File类都可以实现上述操作,它们的方法也都非常相似,那么它们到底有什么区别呢?
nFileInfo类和File类的比较

n两者都提供对文件类似的操作。

nFile为静态类,直接使用;FileInfo需要实例化后才能使用 。

n从性能上考虑,如果你要多次操作文件,不管是针对相同的,还是不同的,请使用FileInfo,说白了,单打独斗File最棒,群殴则首推FileInfo。

n每次通过File类调用某个方法时,都要占用一定的CPU,而FileInfo类只在创建FileInfo对象时执行一次安全检查。

--结束END--

本文标题: 3-1 Fileinfo类的常用方法

本文链接: https://www.lsjlt.com/news/191033.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 3-1 Fileinfo类的常用方法
    1. 案例学习:了解FileInfo类的一些主要属性 下面的示例演示了 FileInfo类的一些主要属性。 using System; using S...
    99+
    2023-01-31
    常用 方法 Fileinfo
  • 1-3 Winform 中的常用控件(3
    8.案例学习:使用组合框控件 本次实验目标是在FORM窗体上建立一个列表框控件,两个组合框控件以及一个文本框控件,通过这些控件彼此之间的关联,学习并掌握ComboBox组合框控件的主要属性和方法。本次实验目标如图1-15所示。&#...
    99+
    2023-01-31
    控件 常用 Winform
  • 3-3 File类的常用操作的静态方法练
    3-1-5  File类的常用操作的静态方法练习 文本文件是我们接触频繁的一类文件,记事本程序经常操作的文件就是文本文件,很多应用程序会保存一些记录到日志文件里,这种日志文件也可以是文本文件。通过本小节的学习,可以掌握对文本文件的...
    99+
    2023-01-31
    静态 常用 操作
  • 1-3 Winform 中的常用控件(
    1-3  Winform 中的常用控件 u     本节学习目标: n System.Windows.Forms.Control基本结构 n 使用基本控件如标签、文本、按钮、列表框和组合框 n 掌握窗...
    99+
    2023-01-31
    控件 常用 Winform
  • 1-3 Winform 中的常用控件(2
    4. 案例学习:用户登录功能设计 本次实验目标是通过用户键入名称和密码,经过判别为非空性之后,再判断是否符合系统规定的内容,无论成功或者失败都提示用户操作结果。如图1-12所示为目标界面: ...
    99+
    2023-01-31
    控件 常用 Winform
  • 死锁检测的常用3种方法
    什么是死锁 死锁(Dead Lock)是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程...
    99+
    2023-08-19
    java jvm android
  • python中的3种定义类方法
    目录1、普通方法2、类方法3、静态方法4、总结python中的3种定义类方法: 普通方法 类方法(@classmethod) 类方法(@classmetho...
    99+
    2022-11-12
  • SpringBoot 常用读取配置文件的 3 种方法!
    我们在SpringBoot框架进行项目开发中该如何优雅的读取配置呢?或者说对于一些List或者Map应该如何配置呢? 本篇主要解决如下几个问题: Spring Boot有哪些常用的读取配置文件方式? 1)使用 @Value 读取配置文件 2...
    99+
    2023-08-17
    java 数据库 mysql 面试 服务器
  • Java BufferedOutputStream类的常用方法讲解
    目录BufferedOutputStream类的常用方法构造方式常用方法程序示例BufferedOutputStream深入分析代码准备原因分析手动刷盘buffer源码分析关于buf...
    99+
    2022-11-12
  • Python实现抽象基类的3三种方法
    Python的抽象基类类似于Java、C++等面向对象语言中的接口的概念。抽象基类提供了一种要求子类实现指定协议的方式,如果一个抽象基类要求实现指定的方法,而子类没有实现的话,当试图创建子类或者执行子类代码时会抛出异常。这里简单介绍一下P...
    99+
    2023-01-31
    三种 抽象 方法
  • python 遍历数组的3种方法及常用的代码
      直接使用数组的元素进行遍历,但这种遍历方法效率较低,不推荐使用。可以使用 python中的 num或者 int数组。 2、使用 python中的my_num,该方法通过数组的末尾进行遍历,效率最高,可以直接使用。 5、在 Python...
    99+
    2023-09-21
    python 算法 数据结构
  • Java-String类常用方法汇总
    1.获取字符串长度 int length(); 2.获取指定位置上某个字符 char charAt(int index); 3.获取指定字符在字符串中位置 int indexOf(int ch);//...
    99+
    2023-09-08
    idea java
  • String类中的一些常用方法(JAVA)
    目录 字符串比较方法: boolean equals(Object anObject):  int compareTo(String s): int compareToIgnoreCase(String str) 字符串查找方法: char...
    99+
    2023-10-03
    java 开发语言
  • c++ string类的常用方法有哪些
    C++中的string类有很多常用的方法,一些常用的方法包括:1. length():返回字符串的长度。2. empty():判断字...
    99+
    2023-10-08
    c++
  • java中Enum类的常用方法实现
    枚举类型预定义的方法:public static enumtype[] values() //枚举类型的数组,该数组包含枚举的所有枚举成员,并按他们的生命顺序存储 public static enumtype valueOf(...
    99+
    2017-07-03
    java入门 java Enum
  • Java中FileWriter类的常用方法说明
    FileWriter字符输出流 构造方法 public FileWriter(String fileName) throws IOException 根据给定的文件名构造一个 ...
    99+
    2022-11-12
  • java中Vector类的常用方法详解
    目录publicvoidadd(intindex, Eelement)publicbooleanaddAll(intindex, Collection<ex...
    99+
    2022-11-13
  • Java中String类的常用方法总结
    目录概述特点使用步骤常用方法判断功能的方法获取功能的方法转换功能的方法分割功能的方法概述 java.lang.String 类代表字符串。Java程序中所有的字符串文字(例如&quo...
    99+
    2022-11-13
    Java String类常用方法 Java String类 方法 Java String类
  • PTA 2 时钟类-1(用默认的构造方法)分数 10
    先看题: 定义一个时钟类MyClock,包含3个数据成员(即成员变量:时,分,秒);包含2个方法, 一个设置时间的方法setClock(),一个显示时间的方法display(),按照“ 12:28:45 ”的格式显示时间。 请在下面的【】处...
    99+
    2023-10-10
    java jvm 开发语言
  • MySQL中where 1=1方法的使用及改进
    目录背景where 1=1的作用where 1<>1where 1=1的性能问题where 1=1的改进小结背景 刚入行的同学,看...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作