首页 > 编程语言 >C# 文件、文件夹常规创建删除操作实例

C# 文件、文件夹常规创建删除操作实例

时间:2024-04-07 10:35:57浏览次数:15  
标签:string 实例 C# XmlAndXsd System Process 文件夹 Directory 打开

原文链接:https://blog.csdn.net/weixin_45023644/article/details/121951840

C#的文件操作的功能是非常丰富的。他们大多来自System.IO类,比如:File、Directory、BinaryReader、BinaryWriter、DirectoryInfo、FileStream、MemoryStream、Path、StringWriter等等。
当然,其它很多类中也包含文件操作。

  这里在用C# 举几个常见实例,来说明文件、文件夹的存在查询、创建和删除的几个基本方法,以及如何浏览打开。

string Path="D:\\a.txt";

if(File.Exists(Path))//确定指定的文件是否存在
{
	//删除指定的文件
	File.Delete( Path);
}
else
{
	//在指定路径中创建或覆盖文件
    File.Creat(Path);
}

  

二、Directory 类文件目录存在查询、删除和创建
  Directory 类的功能是对目录和子目录进行创建、移动和枚举等。
  文件目录的存在、删除和创建举例:

	string  FolderPath = "D:\\DIR";
	if (Directory.Exists(FolderPath ) == false) //文件夹是否存在
	{
	    //在指定路径中创建所有目录和子目录,除非它们已经存在
		Directory.CreateDirectory(FolderPath); //不存在,创建目录
	}
	else
	{	 
	    //删除指定的目录,并删除该目录中的所有子目录和文件
	    //TRUE表示删除所有子目录和文件,缺省或false则表示这个是空目录,否则不会抛出异常
		Directory.Delete( FolderPath, true);
	}
	       
	

  

三、文件浏览
  这里的文件浏览不是说打开那个路径获取路径名,那个是Dialog类,而是说像打开我的电脑一样用资源管理器的方式打开,这种应用在不少工具软件上也是经常见到的。C#同样可以轻松实现。

1、先说获当前取路径方法
  获取路径的方法很多,经常用到的就是获取当前路径: 

原文链接:https://blog.csdn.net/liudong8510/article/details/17264297/

C# 获取当前路径7种方法:

            //获取模块的完整路径。
            string path1 = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
            //获取和设置当前目录(该进程从中启动的目录)的完全限定目录
            string path2 = System.Environment.CurrentDirectory;
            //获取应用程序的当前工作目录
            string path3 = System.IO.Directory.GetCurrentDirectory();
            //获取程序的基目录
            string path4 = System.AppDomain.CurrentDomain.BaseDirectory;
            //获取和设置包括该应用程序的目录的名称
            string path5 = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
            //获取启动了应用程序的可执行文件的路径
            string path6 = System.Windows.Forms.Application.StartupPath;
            //获取启动了应用程序的可执行文件的路径及文件名
            string path7 = System.Windows.Forms.Application.ExecutablePath;
 
            StringBuilder str=new StringBuilder();
            str.AppendLine("System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName:" + path1);
            str.AppendLine("System.Environment.CurrentDirectory:" + path2);
            str.AppendLine("System.IO.Directory.GetCurrentDirectory():" + path3);
            str.AppendLine("System.AppDomain.CurrentDomain.BaseDirectory:" + path4);
            str.AppendLine("System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase:" + path5);
            str.AppendLine("System.Windows.Forms.Application.StartupPath:" + path6);
            str.AppendLine("System.Windows.Forms.Application.ExecutablePath:" + path7);
            string allPath = str.ToString();
 
            /*  输出结果
             *  System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName:D:\work\prj\VP-VPlatform\XmlAndXsd\bin\Release\XmlAndXsd.vshost.exe
                System.Environment.CurrentDirectory:D:\work\prj\VP-VPlatform\XmlAndXsd\bin\Release
                System.IO.Directory.GetCurrentDirectory():D:\work\prj\VP-VPlatform\XmlAndXsd\bin\Release
                System.AppDomain.CurrentDomain.BaseDirectory:D:\work\prj\VP-VPlatform\XmlAndXsd\bin\Release\
                System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase:D:\work\prj\VP-VPlatform\XmlAndXsd\bin\Release\
                System.Windows.Forms.Application.StartupPath:D:\work\prj\VP-VPlatform\XmlAndXsd\bin\Release
                System.Windows.Forms.Application.ExecutablePath:D:\work\prj\VP-VPlatform\XmlAndXsd\bin\Release\XmlAndXsd.EXE    
             */

  

2、浏览器打开文件夹

  打开浏览路径的方法也很多,经常用到的就是获取当前路径:

原文链接:https://blog.csdn.net/weixin_45792450/article/details/104204530

C# 调用打开资源管理器和浏览器:

1、打开资源管理器

//文件浏览器打开某个目录
//直接打开资源管理器(打开默认首页)
System.Diagnostics.Process.Start("Explorer.exe");
//资源管理器打开某个目录
System.Diagnostics.Process.Start("Explorer.exe", "E:\\");
//资源管理器打开某个文件
System.Diagnostics.Process.Start("Explorer.exe", "E:\\555.txt");
//资源管理器浏览选中某个文件
System.Diagnostics.Process.Start("Explorer.exe", "/select," + @"E:\555.txt");

 2、打开IE浏览器

//直接打开IE浏览器(打开默认首页)
System.Diagnostics.Process.Start("Iexplore.exe");
//直接打开IE浏览器,打开指定页
System.Diagnostics.Process.Start("Iexplore.exe", "http://www.cnblogs.com/kissdodog");

  

 

标签:string,实例,C#,XmlAndXsd,System,Process,文件夹,Directory,打开
From: https://www.cnblogs.com/Dongmy/p/18118531

相关文章

  • 基于EP4CE6F17C8的FPGA矩阵键盘实例
    一、电路模块1、数码管开发板板载了6个数码管,全部为共阳型,原理图如下图所示,段码端引脚为DIG[0]~DIG[7]共8位(包含小数点),位选端引脚为SEL[0]~SEL[5]共6位。端口均为低电平有效。其实物图如下所示。数码管引脚分配见下表。2、时钟晶振开发板板载了一个50MHz的有源晶振,为系统......
  • QCustomPlot使用
    QCustomPlot用法及源代码放大缩小、动态增加数据、鼠标拖拽矩形框选曲线数据(T1~T2时间段内的数据)鼠标点击显示数据点x缩放、y缩放、还原、截图等功能通用创建文件夹功能;通用MessageBox,对QMessageBox进行重写源码如下CustomPlotEx.h#pragmaonce#include<QW......
  • 基于vue3的Crontab组件
    网上找的没有满意的,决定从若依前后端分离其前端vue2中的crontab进行转换,先上效果若依: 改后:  v2转v3没什么难度,其中有大量的将this.***替换为***.value,笔者写了个正则替换,希望可以帮助大家this.(\w+)$1.value 需要注意的有,在v2中【this.$refs[refName......
  • websocket实践
    文章目录背景WebSocketAPI使用场景优点实例步骤1:设置WebSocket服务器步骤2:创建客户端HTML页面步骤3:测试WebSocket通信注意事项实际操作参考资料WebSocket是一种在单个TCP连接上进行全双工通信的协议。它使得浏览器和服务器只需建立一个连接,就可......
  • GESP 2024年3月C++ 1级至8级
    GESP编程能力等级认证标准一级至八级(大纲)GESP编程能力等级认证标准一级至八级(大纲)-CCF-GESP编程能力等级认证GESP真题解析真题解析-CCF-GESP编程能力等级认证GESPC++/Python/图形化编程认证样题GESPC++/Python/图形化编程认证样题-CCF-GESP编程能力等级认证......
  • 超级好用的 IEC104 主站/客户端模拟器
    目录超级好用的IEC104主站/客户端模拟器主要功能软件截图超级好用的IEC104主站/客户端模拟器官网下载地址:http://www.redisant.cn/iec104client主要功能同时模拟多个主站/客户端。在单个连接中模拟多个站(公共地址)。完整的信息对象解析,通过表格查看信息对象的所有属性。......
  • 记录一下远程链接mysql报host 'xxx.xxx.xxx' is not allowed to connect to this mysq
    问题说明:服务器上的mysql本地是可以链接3306端口的,但是远程链接服务器的3306端口报错,在排除了 服务器端口和服务器防火墙 的问题之后,确定问题应该是mysql的问题解决方式:1.点击mysql命令 2.输入数据库密码 3.输入 usemysql4.输入  updateusersethost=......
  • 归一化技术比较研究:Batch Norm, Layer Norm, Group Norm
    归一化层是深度神经网络体系结构中的关键,在训练过程中确保各层的输入分布一致,这对于高效和稳定的学习至关重要。归一化技术的选择(Batch,Layer,GroupNormalization)会显著影响训练动态和最终的模型性能。每种技术的相对优势并不总是明确的,随着网络体系结构、批处理大小和特定任务......
  • 解决VSCode打开终端Terminal闪退的问题
    原文连接:https://blog.csdn.net/birdfly2015/article/details/135013758一、背景在新电脑上使用了VSCode,但是一打开Terminal,Terminal马上就消失了,在网上找了很久,都没有找到对应的分析二、解决思路首先,是从这个文档中找到了灵感,这个文档里面汇集了大部分的问题,如果有其他问题可以......
  • C#的无边框窗体改变大小解决方案 - 开源研究系列文章
          这次继续研究无边框窗体需要的功能。其实就是把有边框的默认窗体的一些功能进行实现而已。不过不同的人不一定相同的代码,所以笔者尽量用最简单有效的方法例子让读者能够直接对代码进行复用,以节省时间和人力。这次解决的是无边框窗体Sizeabled的能改变大小的方案。 ......