C#使用FileInfo和DirectoryInfo类来执行文件和文件夹操作
System.IO.FileInfo
和 System.IO.DirectoryInfo
是C#中用于操作文件和文件夹的类,它们提供了许多有用的方法和属性来管理文件和文件夹。
System.IO.FileInfo:
FileInfo
类用于操作单个文件的信息和内容。以下是一些常用的方法和属性:
Exists
:检查文件是否存在。FullName
:获取文件的完整路径。Name
:获取文件的名称(包括扩展名)。Length
:获取文件的大小(以字节为单位)。CreationTime
、LastAccessTime
、LastWriteTime
:分别获取文件的创建时间、最后访问时间和最后写入时间。CopyTo
:将文件复制到指定的目标路径。MoveTo
:将文件移动到指定的目标路径。Delete
:删除文件。
System.IO.DirectoryInfo:
DirectoryInfo
类用于操作文件夹的信息和内容。以下是一些常用的方法和属性:
Exists
:检查文件夹是否存在。FullName
:获取文件夹的完整路径。Name
:获取文件夹的名称。CreationTime
、LastAccessTime
、LastWriteTime
:分别获取文件夹的创建时间、最后访问时间和最后写入时间。GetFiles
:获取文件夹中的文件列表。GetDirectories
:获取文件夹中的子文件夹列表。CreateSubdirectory
:在当前文件夹下创建子文件夹。MoveTo
:将文件夹移动到指定的目标路径。Delete
:删除文件夹。
这些类提供了方便的方法来处理文件和文件夹的操作,可以根据具体的需求来选择使用 FileInfo
或 DirectoryInfo
。使用这些类可以更加灵活地进行文件和文件夹的管理和操作。
使用 FileInfo:
using System;
using System.IO;class Program
{static void Main(){string filePath = @"C:\example\sample.txt";// 创建 FileInfo 对象FileInfo fileInfo = new FileInfo(filePath);// 检查文件是否存在if (fileInfo.Exists){Console.WriteLine($"File name: {fileInfo.Name}");Console.WriteLine($"File size: {fileInfo.Length} bytes");Console.WriteLine($"Creation time: {fileInfo.CreationTime}");Console.WriteLine($"Last access time: {fileInfo.LastAccessTime}");Console.WriteLine($"Last write time: {fileInfo.LastWriteTime}");// 复制文件到新路径string newFilePath = @"C:\newfolder\sample.txt";fileInfo.CopyTo(newFilePath, true); // 第二个参数表示是否覆盖目标文件// 移动文件到新路径string movedFilePath = @"D:\movedfolder\sample.txt";fileInfo.MoveTo(movedFilePath);// 删除文件fileInfo.Delete();}else{Console.WriteLine("File does not exist.");}}
}
使用 DirectoryInfo:
using System;
using System.IO;class Program
{static void Main(){string folderPath = @"C:\example\folder";// 创建 DirectoryInfo 对象DirectoryInfo directoryInfo = new DirectoryInfo(folderPath);// 检查文件夹是否存在if (directoryInfo.Exists){Console.WriteLine($"Folder name: {directoryInfo.Name}");Console.WriteLine($"Creation time: {directoryInfo.CreationTime}");Console.WriteLine($"Last access time: {directoryInfo.LastAccessTime}");Console.WriteLine($"Last write time: {directoryInfo.LastWriteTime}");// 获取文件夹中的文件列表FileInfo[] files = directoryInfo.GetFiles();foreach (FileInfo file in files){Console.WriteLine($"File: {file.Name}, Size: {file.Length} bytes");}// 获取文件夹中的子文件夹列表DirectoryInfo[] subdirectories = directoryInfo.GetDirectories();foreach (DirectoryInfo subdirectory in subdirectories){Console.WriteLine($"Subfolder: {subdirectory.Name}");}// 创建子文件夹string newSubfolderPath = Path.Combine(folderPath, "newsubfolder");DirectoryInfo newSubdirectory = directoryInfo.CreateSubdirectory("newsubfolder");// 移动文件夹到新路径string movedFolderPath = @"D:\movedfolder";directoryInfo.MoveTo(movedFolderPath);// 删除文件夹directoryInfo.Delete(true); // 第一个参数表示是否删除包括子文件和子文件夹}else{Console.WriteLine("Folder does not exist.");}}
}
相关文章:

C#使用FileInfo和DirectoryInfo类来执行文件和文件夹操作
System.IO.FileInfo 和 System.IO.DirectoryInfo 是C#中用于操作文件和文件夹的类,它们提供了许多有用的方法和属性来管理文件和文件夹。 System.IO.FileInfo: FileInfo 类用于操作单个文件的信息和内容。以下是一些常用的方法和属性: Exi…...

每日一学——TCP/IP参考模型
TCP/IP参考模型是一个用于网络通信的分层架构,它定义了一组协议,这些协议实现了计算机之间的数据传输。TCP/IP参考模型分为四层: 应用层(Application Layer):应用层是网络应用程序与网络之间的接口层。它提…...

LAXCUS分布式操作系统:技术创新引领高性能计算与人工智能新时代
随着科技的飞速发展,高性能计算、并行计算、分布式计算、大数据、人工智能等技术在各个领域得到了广泛应用。在这个过程中,LAXCUS分布式操作系统以其卓越的技术创新和强大的性能表现,成为了业界的佼佼者。本文将围绕LAXCUS分布式操作系统的技…...

两只小企鹅(Python实现)
目录 1 和她浪漫的昨天 2 未来的旖旎风景 3 Python完整代码 1 和她浪漫的昨天 是的,春天需要你。经常会有一颗星等着你抬头去看; 和她一起吹晚风吗﹖在春天的柏油路夏日的桥头秋季的公园寒冬的阳台; 这世界不停开花,我想放进你心里一朵&am…...

Linux | 使用wget命令调用服务接口
关注wx: CodingTechWork 引言 在docker容器中,想要调用某个服务接口,发现没有安装curl命令,但是有wget命令。本次总结一下wget的使用。 wget命令实践 容器访问 查看容器 docker ps进入容器 docker exec -it <container_id&…...

POJ Prime Path 埃氏筛法+广度优先搜索
思路:用埃氏筛法打个表,然后bfs即可 #include <iostream> #include <queue> using namespace std; typedef long long ll; ll inf 0x3f3f3f3f3f3f3f3f; bool isPrime[10007]; ll d[10007]; int tenPow[10]; int mint; void initTenPow() {…...

React React Native
文章目录 ReactReact vs Vue快速上手React,核心知识点JSX例子 组件虚拟DOM基于 React 的 UI 库跟Java、ObjectC交互 React Native基于 React Native 的 UI 库 React && React NativeReact && React Native 框架 React React 是一个用于构建用户界面…...

分布式定时任务系列5:XXL-job中blockingQueue的应用
传送门 分布式定时任务系列1:XXL-job安装 分布式定时任务系列2:XXL-job使用 分布式定时任务系列3:任务执行引擎设计 分布式定时任务系列4:任务执行引擎设计续 Java并发编程实战1:java中的阻塞队列 引子 这篇文章的…...

QT网络编程之TCP
QT网络编程之TCP TCP 编程需要用到俩个类: QTcpServer 和 QTcpSocket。 #------------------------------------------------- # # Project created by QtCreator 2023-08-...

《游戏编程模式》学习笔记(四) 观察者模式 Observer Pattern
定义 观察者模式定义了对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 这是定义,看不懂就看不懂吧,我接下来举个例子慢慢说 为什么我们需要观察者模式 我们看一个很简…...

前端一键升级 package.json里面的依赖包管理
升级需谨慎 前端一键升级 package.json里面的依赖包管理 安装:npm-check-updates npm i npm-check-updates -g缩写 ncu 在项目根目录里面执行 ncu 如图:...

当速度很重要时:使用 Hazelcast 和 Redpanda 进行实时流处理
在本教程中,了解如何构建安全、可扩展、高性能的应用程序,以释放实时数据的全部潜力。 在本教程中,我们将探索 Hazelcast 和 Redpanda 的强大组合,以构建对实时数据做出反应的高性能、可扩展和容错的应用程序。 Redpanda 是一个流…...

筛法求欧拉函数
思路: (1)若要分别求1~n每个数的欧拉函数值,则复杂度O(n*n^0.5),超时; (2)于是考虑用欧拉筛进行求取; (3)欧拉筛:基于线…...

consul限制注册的ip
假设当前服务器的ip是:192.168.56.130 1、允许 所有ip 注册(验证可行) consul agent -server -ui -bootstrap-expect1 -data-dir/usr/local/consul -nodedevmaster -advertise192.168.56.130 -bind0.0.0.0 -client0.0.0.0 2、只允许 当前ip 注册 consul agent -…...

用AI攻克“智能文字识别创新赛题”,这场大学生竞赛掀起了什么风潮?
文章目录 一、前言1.1 大赛介绍1.2 项目背景 二、基于智能文字场景个人财务管理创新应用2.1 作品方向2.2 票据识别模型2.2.1 文本卷积神经网络TextCNN2.2.2 Bert 预训练微调2.2.3 模型对比2.2.4 效果展示 2.3 票据文字识别接口 三、未来展望 一、前言 1.1 大赛介绍 中国大学生…...

EJB基本概念和使用
一、EJB是什么? EJB是sun的JavaEE服务器端组件模型,是一种规范,设计目标与核心应用是部署分布式应用程序。EJB2.0过于复杂,EJB3.0的推出减轻了开发人员进行底层开发的工作量,它取消或最小化了很多(以前这些是必须实现)…...

神经网络基础-神经网络补充概念-09-m个样本的梯度下降
概念 当应用梯度下降算法到具有 m 个训练样本的逻辑回归问题时,我们需要对每个样本计算梯度并进行平均,从而更新模型参数。这个过程通常称为批量梯度下降(Batch Gradient Descent)。 代码实现 import numpy as npdef sigmoid(z…...

分布式 - 消息队列Kafka:Kafka消费者分区再均衡(Rebalance)
文章目录 01. Kafka 消费者分区再均衡是什么?02. Kafka 消费者分区再均衡的触发条件?03. Kafka 消费者分区再均衡的过程?04. Kafka 如何判定消费者已经死亡?05. Kafka 如何避免消费者的分区再均衡?06. Kafka 消费者分区再均衡有什…...

BIO、NIO和AIO
一.引言 何为IO 涉及计算机核心(CPU和内存)与其他设备间数据迁移的过程,就是I/O。数据输入到计算机内存的过程即输入,反之输出到外部存储(比如数据库,文件,远程主机)的过程即输出。 I/O 描述了计算机系统…...

理解 Go 中的切片:append 操作的深入分析(篇1)
理解 Go 语言中 slice 的性质对于编程非常有益。下面,我将通过两个代码示例来解释切片在不同函数之间传递并执行 append 操作时的具体表现。 本篇为第 1 篇,当切片的容量 cap 充足时 第一份代码 slice1 的初始长度为 3,容量为 10 func main()…...

由于找不到mfc140u.dll,无法继续执行代码怎么修复?
当我在使用某个应用程序时遇到了mfc140u.dll缺失的错误提示时,我意识到这是由于该动态链接库文件丢失或损坏所引起的。mfc140u.dll是MFC的一部分,它包含了许多与用户界面、窗口管理、控件等相关的函数和类。这个文件通常用于支持使用MFC开发的应用程序的…...

【0.1】lubancat鲁班猫4刷入debian网络ping 域名不通问题
目录 1. 环境2. 操作步骤 1. 环境 lubancat4鲁班猫4 (4G0)不带emmc系统镜像lubancat-rk3588-debian11-gnome-20230807_update.img官方资料地址https://doc.embedfire.com/products/link/zh/latest/linux/ebf_lubancat.html 2. 操作步骤 从官网给的百度网盘下载linux系统全部…...

KafkaStream:基本使用
简介: kafkaStream:提供了对存储在kafka中的数据进行流式处理和分析的功能 特点: KafkasSream提供了一个非常简单轻量的Library,它可以非常方便的嵌入到java程序中,也可以任何方式打包部署 入门案例: 1、…...

【数据结构】二叉树
完全二叉树 是指所有结点度数小于等于2的树 所以这种情况也是: 几条性质 一个具有n个结点的完全二叉树的深度为: log 2 ( n 1 ) 的结果向上取整。 \\\log_{2}(n1) \ \ 的结果向上取整。 log2(n1) 的结果向上取整。设度为0的结点个数是n0&#…...

基于灰狼优化(GWO)、帝国竞争算法(ICA)和粒子群优化(PSO)对梯度下降法训练的神经网络的权值进行了改进(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

jenkins自动化构建保姆级教程(持续更新中)
1.安装 1.1版本说明 访问jenkins官网 https://www.jenkins.io/,进入到首页 点击【Download】按钮进入到jenkins下载界面 左侧显示的是最新的长期支持版本,右侧显示的是最新的可测试版本(可能不稳定),建议使用最新的…...

HTTPS 的加密流程
目录 一、HTTPS是什么? 二、为什么要加密 三、"加密" 是什么 四、HTTPS 的工作过程 1.对称加密 2.非对称加密 3.中间人攻击 4.证书 总结 一、HTTPS是什么? HTTPS (Hyper Text Transfer Protocol Secure) 是基于 HTTP 协议之上的安全协议&…...

Jmeter 参数化的几种方法
目录 配置元件-用户自定义变量 前置处理器-用户参数 配置元件-CSV Data Set Config Tools-函数助手 配置元件-用户自定义变量 可在测试计划、线程组、HTTP请求下创建用户定义的变量 全局变量,可以跨线程组调用 jmeter执行的时候,只获取一次࿰…...

剑指Offer45.把数组排成最小的数 C++
1、题目描述 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 示例 1: 输入: [10,2] 输出: “102” 示例 2: 输入: [3,30,34,5,9] 输出: “3033459” 2、VS2019上运行 先转换成字符串再组合起来 #in…...

【java毕业设计】基于SSM+MySql的人才公寓管理系统设计与实现(程序源码)--人才公寓管理系统
基于SSMMySql的人才公寓管理系统设计与实现(程序源码毕业论文) 大家好,今天给大家介绍基于SSMMySql的人才公寓管理系统设计与实现,本论文只截取部分文章重点,文章末尾附有本毕业设计完整源码及论文的获取方式。更多毕业…...