C#文件目录操作方法汇总

C#文件目录操作方法汇总

在C#编程中,文件和目录操作是非常常见的需求。本文总结了常用的C#文件目录操作方法,包括路径操作、目录创建、文件创建、文件读写、文件复制、文件删除等多个方面,旨在帮助读者快速实现对文件和目录的操作。

路径操作

获取当前应用程序执行文件所在目录

string path = AppDomain.CurrentDomain.BaseDirectory;

获取当前进程的工作目录

string path = Environment.CurrentDirectory;

获取指定文件所在目录

string path = Path.GetDirectoryName(filePath);

目录操作

判断目录是否存在

bool isExists = Directory.Exists(directoryPath);

创建目录,如果已存在则不创建

Directory.CreateDirectory(directoryPath);

删除目录,如果目录非空则抛出异常

Directory.Delete(directoryPath);

强制删除目录及其子目录以及文件

Directory.Delete(directoryPath, true);

复制目录及其子目录以及文件

Directory.CreateDirectory(targetDirectoryPath);
FileSystem.CopyDirectory(directoryPath, targetDirectoryPath, true);

文件操作

判断文件是否存在

bool isExists = File.Exists(filePath);

创建文件,如果已存在则不创建

File.Create(filePath);

读取文件的所有文本

string text = File.ReadAllText(filePath);

写入文本到文件中

File.WriteAllText(filePath, text);

追加文本到文件中

File.AppendAllText(filePath, text);

复制文件

File.Copy(sourceFilePath, targetFilePath, true);

移动文件或重命名文件

File.Move(sourceFilePath, targetFilePath);

删除文件

File.Delete(filePath);

示例说明

复制文件夹

using System.IO;

public static void CopyDirectory(string sourceDirectoryPath, string targetDirectoryPath)
{
    if (!Directory.Exists(targetDirectoryPath))
    {
        Directory.CreateDirectory(targetDirectoryPath);
    }

    foreach (string file in Directory.GetFiles(sourceDirectoryPath))
    {
        string targetFilePath = Path.Combine(targetDirectoryPath, Path.GetFileName(file));
        File.Copy(file, targetFilePath, true);
    }

    foreach (string directory in Directory.GetDirectories(sourceDirectoryPath))
    {
        string targetDirectoryPath = Path.Combine(targetDirectoryPath, Path.GetFileName(directory));
        CopyDirectory(directory, targetDirectoryPath);
    }
}

示例代码中定义了一个 CopyDirectory 方法,用于复制指定目录下的所有文件和子目录到目标目录中。方法中使用了递归实现,遍历源目录下的所有文件和子目录,并将其复制到目标目录下。

读取文件内容到列表中

using System.Collections.Generic;
using System.IO;

public static List<string> ReadFileToList(string filePath)
{
    List<string> result = new List<string>();

    using (StreamReader sr = new StreamReader(filePath))
    {
        string line;
        while ((line = sr.ReadLine()) != null)
        {
            result.Add(line);
        }
    }

    return result;
}

示例代码中定义了一个 ReadFileToList 方法,用于读取指定文件的所有行并保存到列表中。方法中使用 StreamReader 类进行文件读取操作,逐行读取文本内容,并添加到结果列表中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#文件目录操作方法汇总 - Python技术站

(0)
上一篇 2023年6月7日
下一篇 2023年6月7日

相关文章

  • asp.net 2.0中利用Ajax2.0实现JSON传送大量页面数据

    下面是关于“asp.net 2.0中利用Ajax2.0实现JSON传送大量页面数据”的完整攻略: 简介 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,经常应用于Web开发中用来传送数据。而Ajax(Asynchronous JavaScript and XML)则是一种基于JavaScript和XML的技术,可以…

    C# 2023年5月31日
    00
  • 基于C#的图表控件库 ScottPlot编译visual studio 2022

    ScottPlot是什么? ScottPlot是一个可视化绘图的C#控件库,提供了丰富的图表类型和交互式功能。ScottPlot基于.NET Core 3.0和.NET Framework 4.6.1开发,支持WinForms、WPF以及控制台程序等多种应用类型。 ScottPlot的安装 在Visual Studio 2022中安装ScottPlot有两种…

    C# 2023年6月3日
    00
  • vs2015怎么编写第一个windows程序?

    请参考以下完整攻略: 步骤1:打开Visual Studio 2015 首先,你需要安装Visual Studio 2015,然后打开它。 步骤2:创建一个新项目 在Visual Studio 2015中,单击“文件(File)”菜单,选择“新建(New)”,然后选择“项目(Project)”。 在“新建项目(New Project)”对话框中,选择“Vis…

    C# 2023年6月6日
    00
  • unity 如何使用文件流读取streamingassets下的资源

    首先,在 Unity3D 中, streaming assets 是一个目录,它在打包成应用程序之前,所有文件都都被放在该目录下,通过文件路径的方式进行访问。访问 streaming assets 中的文件,可以使用File类和 FileStream 类提供的OpenRead()和Read()方法进行读取。 以下是在 Unity3D 中使用文件流读取 str…

    C# 2023年5月15日
    00
  • 详解ASP.NET MVC之下拉框绑定四种方式

    下面我将详细讲解ASP.NET MVC下拉框绑定四种方式的完整攻略。 一、前置知识 在进行下拉框绑定前,需要了解 ASP.NET MVC 的 Razor 语法和 C# 语言基础,以及了解下拉框的 HTML 语法和 ASP.NET MVC 中的 ViewData 和 ViewBag 这两种传值方式。 二、下拉框绑定四种方式 通过 ViewBag 绑定下拉框 在…

    C# 2023年5月31日
    00
  • ASP.NET 2.0中的数据操作之八:使用两个DropDownList过滤的主/从报表

    下面我将详细讲解“ASP.NET 2.0中的数据操作之八:使用两个DropDownList过滤的主/从报表”攻略: 简介 在ASP.NET 2.0中,使用两个DropDownList过滤的主/从报表非常常见。这种形式的报表,允许用户通过选择主报表中的某个选项,从而动态变更从报表中的数据。本文将介绍如何使用两个DropDownList来过滤和呈现报表数据。 步…

    C# 2023年5月31日
    00
  • C#中ExecuteNonQuery()返回值注意点分析

    针对C#中ExecuteNonQuery()返回值注意点,我为大家准备了以下完整攻略: 1. ExecuteNonQuery()方法的用途 ExecuteNonQuery()方法在C#中是通过SqlConnection对象执行SQL语句的方法之一,它主要用于执行不返回数据集的SQL语句,比如INSERT、UPDATE、DELETE等操作,即执行非查询语句。在…

    C# 2023年5月14日
    00
  • C#面向对象设计原则之里氏替换原则

    C#面向对象设计原则之里氏替换原则 什么是里氏替换原则 里氏替换原则(Liskov Substitution Principle,LSP)是面向对象设计中的一个基本原则。它重新定义了关于继承的条款。原始的定义是由“Barbara Liskov”于1987年提出的:“如果对于每一个类型为 T1 的对象 o1 都有类型为 T2 的对象 o2,使得以 T1 定义的…

    C# 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部