更新记录

本文迁移自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#中常用的目录|文件|路径信息操作的更多相关文章

  1. python找递归目录中文件,并移动到一个单独文件夹中,同时记录原始文件路径信息

    运营那边有个需求. 下载了一批视频文件,由于当时下载的时候陆陆续续创建了很多文件夹,并且,每个文件夹下面还有子文件夹以及视频文件,子文件夹下面有视频文件或者文件夹 现在因为需要转码,转码软件只能对单个 ...

  2. Nginx中的root&alias文件路径及索引目录配置详解

    这篇文章主要介绍了Nginx中的root&alias文件路径及索引目录配置,顺带讲解了root和alias命令的用法,需要的朋友可以参考下     root&alias文件路径配置ng ...

  3. Linux学习总结(5)——CentOS常用的目录文件操作命令

    CentOS常用的目录文件操作命令 一.路径操作的CentOS常用命令  cd pwd  NO1. 显示当前路径  [root@rehat root]# pwd  NO2. 返回用户主目录  [roo ...

  4. 如何去掉drwxr-xr-x@中的@符号Linux文件扩展信息

    如何去掉drwxr-xr-x@中的@符号Linux文件扩展信息ls -lart drwxrwxrwx@ 10 rlanffy staff 340B 3 6 2015 files-rwxrwxrwx@ ...

  5. Hibernate3中重复引用hbm文件错误信息记录

    Hibernate3中重复引用hbm文件错误信息记录. 八月 ::, ERROR - Context initialization failed org.springframework.beans.f ...

  6. Django中常用的那些模块路径

    Django中常用的那些模块路径 from django.shortcuts import HttpResponse, render, redirect from django import temp ...

  7. Linux中常用命令(文件与目录)

    1.pwd 查看当前目录(Print Working Directory) 2.cd 切换工作目录(Change Directory) (1)格式:cd [目录位置] 特殊目录: .当前目录 ..上一 ...

  8. 初识linux&常用命令&目录文件的浏览和管理

    Linux系统的主要用途:主要用于服器务器,特别是网络服务 Linux命令格式 命令   [选项]  [ 参数] 命令:告诉操作系统做什么,执行什么 选项:说明命令的运行方式(可以改变命令的功能).选 ...

  9. Linux中常用的查找文件的命令

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.这些是从网上找到的资料(参考资料1),因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用. w ...

随机推荐

  1. MFC---文档与视图结构

    文档与视图结构 文档.视图的关系,是一对多的映射,一个文档可以对应多个视图,而一个视图只能对应一个文档.例如,一个.html文件,可以用记事本打开,也可以用浏览器打开,这里的.html文件就是文档,记 ...

  2. SpringMVC-组件分析之视图解析器(prefix,suffix)

    SpringMVC的默认组件都是在DispatcherServlet.properties配置文件中配置的: spring-webmvc->org/springframewrok/web/ser ...

  3. 我们可以定向调度某个pod在某个node上进行创建

    集群环境:1.k8s用的是二进制方式安装 2.操作系统是linux (centos)3.操作系统版本为 7.2/7.4/7.94.k8s的应用管理.node管理.pod管理等用rancher.k8s令 ...

  4. Quartz 使用记录

    Quartz 使用记录 官网 https://www.quartz-scheduler.org/ 参考文档 Quartz 2.3.0 什么是 Quartz? 官方描述: Quartz is a ric ...

  5. 前端vue之属性指令、style和class、条件渲染、列表渲染、事件处理、数据双向绑定、表单控制、v-model进阶

    今日内容概要 属性指令 style和class 条件渲染 列表渲染 事件处理 数据的双向绑定 v-model进阶 购物车案例 内容详细 1.属性指令 <!DOCTYPE html> < ...

  6. ThinkPHP3.2.3反序列化链子分析

    前言 目前官方已经不再维护ThinkPHP3.2.3,本文仅对ThinkPHP3.2.3反序列化链子进行复现,如有纰漏,还望指正. 环境介绍 MAMP pro PhpStorm Xdebug 利用条件 ...

  7. 2021.11.16 P2375 [NOI2014] 动物园(EXKMP+差分)

    2021.11.16 P2375 [NOI2014] 动物园(EXKMP+差分) https://www.luogu.com.cn/problem/P2375 题意: PS:这道神题的背景让人疑惑,重 ...

  8. 2021.11.05 eleveni的水省选题的记录

    2021.11.05 eleveni的水省选题的记录 因为eleveni比较菜,但是eleveni不想写绿题(总不能说是被绿题虐得不想写),eleveni决定继续水noip原题. --实际上菜菜的el ...

  9. python基础练习题(题目 画菱形)

    day15 --------------------------------------------------------------- 实例022:画菱形 题目 打印出如下图案(菱形):. * * ...

  10. 国产化之 .NET Core 操作达梦数据库DM8的两种方式

    背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用达梦V8,CPU平台的范围包括x64.龙芯.飞腾.鲲鹏等.考虑到这些基础产品对.NET的支持,最终选择了.NET Core ...