C#中常用的目录|文件|路径信息操作
更新记录
本文迁移自Panda666原博客,原发布时间:2021年5月16日。
说明
.NET的类库API设计的非常优秀,再加上文档docs.com写的非常优秀,写代码给人一种十分优雅的感觉。
获得当前运行程序集所在的同级路径
string assemblyRootPath = Directory.GetCurrentDirectory();
注意:需要引入命名空间System.IO:
using System.IO;
获得指定文件夹下的文件并做筛选
string pathForTest = @"D:/test";
DirectoryInfo directoryInfo = new DirectoryInfo(pathForTest);
//注意:返回类型为:FileInfo
FileInfo[] files = directoryInfo.GetFiles();
//获得总文件个数
Console.WriteLine(files.Length);
//筛选出Excel文件(.xlsx|.xls)
IEnumerable<FileInfo> result1 = files.Where(file => file.Name.Contains(".xls"))
.Select(file=>file);
//获得筛选出的文件个数
Console.WriteLine(result1.Count());
注意:需要以下引入命名空间:
using System.IO;
using System.Linq;
获得指定文件夹下的子目录
string path = @"D:\test";
DirectoryInfo directoryInfo = new DirectoryInfo(path);
//注意:返回类型为DirectoryInfo
DirectoryInfo[] subDirectoryInfos = directoryInfo.GetDirectories();
//获得子目录的个数
Console.WriteLine(subDirectoryInfos.Count());
//筛选子目录
IEnumerable<DirectoryInfo> directoryInfo2 = subDirectoryInfos.Where(d => d.Name.Contains("abc")).Select(d => d);
注意:需要以下引入命名空间:
using System.IO;
using System.Linq;
获得目录下的所有项(子目录和文件)
//用于测试的路径
string pathForTest = @"D:/test/";
//新建目录信息对象
DirectoryInfo directoryInfo = new DirectoryInfo(pathForTest);
//获得子项
foreach (FileSystemInfo item in directoryInfo.GetFileSystemInfos())
{
Console.Write(item.Name);
Console.Write(item is FileInfo ? "是文件":"不是文件");
Console.WriteLine(item is DirectoryInfo ? "是目录":"不是目录");
}
获得路径字符串中的文件名称
//用于测试的路径
string pathForTest = @"D:/test1/test2/test3.xlsx";
//带扩展名
Console.WriteLine(Path.GetFileName(pathForTest));
//不带扩展名
Console.WriteLine(Path.GetFileNameWithoutExtension(pathForTest));
C#中常用的目录|文件|路径信息操作的更多相关文章
- python找递归目录中文件,并移动到一个单独文件夹中,同时记录原始文件路径信息
运营那边有个需求. 下载了一批视频文件,由于当时下载的时候陆陆续续创建了很多文件夹,并且,每个文件夹下面还有子文件夹以及视频文件,子文件夹下面有视频文件或者文件夹 现在因为需要转码,转码软件只能对单个 ...
- Nginx中的root&alias文件路径及索引目录配置详解
这篇文章主要介绍了Nginx中的root&alias文件路径及索引目录配置,顺带讲解了root和alias命令的用法,需要的朋友可以参考下 root&alias文件路径配置ng ...
- Linux学习总结(5)——CentOS常用的目录文件操作命令
CentOS常用的目录文件操作命令 一.路径操作的CentOS常用命令 cd pwd NO1. 显示当前路径 [root@rehat root]# pwd NO2. 返回用户主目录 [roo ...
- 如何去掉drwxr-xr-x@中的@符号Linux文件扩展信息
如何去掉drwxr-xr-x@中的@符号Linux文件扩展信息ls -lart drwxrwxrwx@ 10 rlanffy staff 340B 3 6 2015 files-rwxrwxrwx@ ...
- Hibernate3中重复引用hbm文件错误信息记录
Hibernate3中重复引用hbm文件错误信息记录. 八月 ::, ERROR - Context initialization failed org.springframework.beans.f ...
- Django中常用的那些模块路径
Django中常用的那些模块路径 from django.shortcuts import HttpResponse, render, redirect from django import temp ...
- Linux中常用命令(文件与目录)
1.pwd 查看当前目录(Print Working Directory) 2.cd 切换工作目录(Change Directory) (1)格式:cd [目录位置] 特殊目录: .当前目录 ..上一 ...
- 初识linux&常用命令&目录文件的浏览和管理
Linux系统的主要用途:主要用于服器务器,特别是网络服务 Linux命令格式 命令 [选项] [ 参数] 命令:告诉操作系统做什么,执行什么 选项:说明命令的运行方式(可以改变命令的功能).选 ...
- Linux中常用的查找文件的命令
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.这些是从网上找到的资料(参考资料1),因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用. w ...
随机推荐
- OpenHarmony 3.1 Beta版本关键特性解析——HAP包安装实现剖析
(以下内容来自开发者分享,不代表 OpenHarmony 项目群工作委员会观点) 石磊 随着社会的不断发展,人们逐渐注重更加高效.舒适.便捷.有趣的生活和工作体验. OpenAtom OpenHa ...
- 新手小白入门C语言第六章:C运算符
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C 语言内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 小编将会为大家逐一介 ...
- Python学习笔记: 用pprint更漂亮的打印数据
pprint是一个标准库,它提供了pprint()函数 ,用来打印复杂数据时更漂亮 >>> from pprint import pprint >>> data = ...
- 【阿里巴巴Java开发手册1.7.0(嵩山版)】编程规约&MySQL 数据库规约
阿里巴巴Java开发手册1.7.0(嵩山版) 一.编程规约 (一)命名风格 所有命名不得以下划线和$开始和结束. 所有命名不得以拼音或拼音英文混合. 类名使用UpperCamelCase风格. 方法名 ...
- Halo 开源项目学习(五):评论与点赞
基本介绍 博客系统中,用户浏览文章时可以在文章下方发表自己的观点,与博主或其他用户进行互动,也可以为喜欢的文章点赞.下面我们一起分析一下 Halo 项目中评论和点赞功能的实现过程. 发表评论 评论可以 ...
- 【面试普通人VS高手系列】volatile关键字有什么用?它的实现原理是什么?
一个工作了6年的Java程序员,在阿里二面,被问到"volatile"关键字. 然后,就没有然后了- 同样,另外一个去美团面试的工作4年的小伙伴,也被"volatile关 ...
- CPU缓存L1/L2/L3工作原理
点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 一.前言 在过去的几年中,计算机处理器取得了相当大的进步 ...
- Open Harmony移植:build lite配置目录全梳理
摘要:本文主要介绍build lite 轻量级编译构建系统涉及的配置目录的用途,分析相关的源代码. 本文分享自华为云社区<移植案例与原理 - build lite配置目录全梳理>,作者:z ...
- 在GO中调用C源代码#基础篇1
开坑说明 最近在编写客户端程序或与其他部门做功能集成时多次碰到了跨语言的sdk集成,虽说方案很多诸如rpc啊,管道啊,文件io啊,unix socket啊之类的不要太多,但最完美的基础方式还是让程序与 ...
- Nacos源码系列—服务端那些事儿
点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 项目源码地址:公众号回复 nacos,即可免费获取源码 前言 在上节课中,我们讲解了客户端注册服 ...