首页 > 编程语言 >C# 文件操作方法大全

C# 文件操作方法大全

时间:2024-12-04 23:00:45浏览次数:8  
标签:例如 文件 C# 操作方法 DirectoryInfo File FileInfo txt 大全

  1. 文件创建与删除类操作

    • File.Create方法:用于创建一个新文件。例如:File.Create("newFile.txt");
    • File.Delete方法:用于删除指定的文件。例如:File.Delete("fileToDelete.txt");
    • FileInfo.Create方法(通过FileInfo类):首先创建FileInfo对象,再调用此方法创建文件。如FileInfo fileInfo = new FileInfo("newFileViaInfo.txt"); fileInfo.Create();
    • FileInfo.Delete方法(通过FileInfo类):通过FileInfo对象删除文件。例如:FileInfo fileToDeleteInfo = new FileInfo("fileToDeleteViaInfo.txt"); fileToDeleteInfo.Delete();
  2. 文件读取类操作

    • 文本文件读取
      • File.ReadAllText方法:读取整个文本文件内容为一个字符串。例如:string content = File.ReadAllText("textFile.txt");
      • File.ReadAllLines方法:读取文本文件的所有行到一个字符串数组中。例如:string[] lines = File.ReadAllLines("textFile.txt");
      • StreamReader:提供更灵活的文本读取方式,可以按行读取或逐字符读取。例如:
      using (StreamReader reader = new StreamReader("textFile.txt"))
      {
          string line;
          while ((line = reader.ReadLine())!= null)
          {
              Console.WriteLine(line);
          }
      }
      
    • 二进制文件读取
      • File.ReadAllBytes方法:读取文件的全部字节内容到一个字节数组。例如:byte[] bytes = File.ReadAllBytes("binaryFile.bin");
      • FileStream类(用于二进制读取):可以指定读取的位置和字节数,用于读取二进制文件。例如:
      using (FileStream fileStream = new FileStream("binaryFile.bin", FileMode.Open, FileAccess.Read))
      {
          byte[] buffer = new byte[1024];
          int bytesRead;
          while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) > 0)
          {
              // 处理读取到的字节
          }
      }
      
  3. 文件写入类操作

    • 文本文件写入
      • File.WriteAllText方法:将一个字符串写入文件,覆盖原有内容。例如:File.WriteAllText("textFile.txt", "新的文本内容");
      • File.WriteAllLines方法:将一个字符串数组的内容逐行写入文件,覆盖原有内容。例如:string[] lines = { "第一行", "第二行" }; File.WriteAllLines("textFile.txt", lines);
      • StreamWriter:可以灵活地将文本写入文件,支持追加模式等。例如:
      using (StreamWriter writer = new StreamWriter("textFile.txt", true)) // true表示追加模式
      {
          writer.WriteLine("新的一行内容");
      }
      
    • 二进制文件写入
      • File.WriteAllBytes方法:将字节数组写入文件,覆盖原有内容。例如:byte[] bytes = { 0x01, 0x02 }; File.WriteAllBytes("binaryFile.bin", bytes);
      • FileStream类(用于二进制写入):用于将字节数据写入文件,支持不同的写入模式。例如:
      using (FileStream fileStream = new FileStream("binaryFile.bin", FileMode.Create, FileAccess.Write))
      {
          byte[] data = { 0x03, 0x04 };
          fileStream.Write(data, 0, data.Length);
      }
      
  4. 文件信息获取与修改类操作

    • FileInfo类相关操作
      • FileInfo.Length属性:获取文件长度(字节数)。例如:FileInfo fileInfo = new FileInfo("file.txt"); long length = fileInfo.Length;
      • FileInfo.LastWriteTime属性:获取文件的最后修改时间。例如:DateTime lastWriteTime = fileInfo.LastWriteTime;
      • FileInfo.CopyTo方法:将文件复制到新位置。例如:fileInfo.CopyTo("newLocation/file.txt");
      • FileInfo.MoveTo方法:将文件移动到新位置。例如:fileInfo.MoveTo("newFolder/file.txt");
    • File.GetAttributes方法和File.SetAttributes方法:用于获取和设置文件的属性,如只读、隐藏等。例如:
      FileAttributes attributes = File.GetAttributes("file.txt");
      File.SetAttributes("file.txt", FileAttributes.ReadOnly);
      
  5. 文件目录操作类(主要是DirectoryDirectoryInfo相关操作)

    • 目录创建与删除
      • Directory.CreateDirectory方法:创建新目录。例如:Directory.CreateDirectory("newDirectory");
      • Directory.Delete方法:删除目录。例如:Directory.Delete("directoryToDelete");(如果目录非空,可能需要指定第二个参数为true来强制删除)。
      • DirectoryInfo.Create方法(通过DirectoryInfo类):用于创建目录。例如:DirectoryInfo directoryInfo = new DirectoryInfo("newDirectoryViaInfo"); directoryInfo.Create();
      • DirectoryInfo.Delete方法(通过DirectoryInfo类):用于删除目录。例如:DirectoryInfo directoryToDeleteInfo = new DirectoryInfo("directoryToDeleteViaInfo"); directoryToDeleteInfo.Delete();
    • 目录内容获取
      • Directory.GetFiles方法:获取指定目录下的所有文件。例如:string[] files = Directory.GetFiles("directory");
      • Directory.GetDirectories方法:获取指定目录下的所有子目录。例如:string[] directories = Directory.GetDirectories("directory");
      • DirectoryInfo.GetFiles方法(通过DirectoryInfo类):获取目录下的文件信息。例如:DirectoryInfo dirInfo = new DirectoryInfo("directory"); FileInfo[] fileInfos = dirInfo.GetFiles();
      • DirectoryInfo.GetDirectories方法(通过DirectoryInfo类):获取目录下的子目录信息。例如:DirectoryInfo dirInfo = new DirectoryInfo("directory"); DirectoryInfo[] subDirInfos = dirInfo.GetDirectories();
  6. 路径操作类(主要是Path类相关操作)

    • Path.Combine方法:将多个路径片段组合成一个完整的路径。例如:string fullPath = Path.Combine("folder", "file.txt");
    • Path.GetFileName方法:从路径中获取文件名。例如:string fileName = Path.GetFileName("folder/file.txt");
    • Path.GetDirectoryName方法:从路径中获取目录名。例如:string directoryName = Path.GetDirectoryName("folder/file.txt");
    • Path.GetExtension方法:获取文件的扩展名。例如:string extension = Path.GetExtension("file.txt");

标签:例如,文件,C#,操作方法,DirectoryInfo,File,FileInfo,txt,大全
From: https://blog.csdn.net/weixin_39604653/article/details/144227206

相关文章

  • 全面解析:使用Python实现Docx转Pdf及PDF OCR处理的自动化流程(附完整代码)
    在数字化办公环境中,文档格式转换与内容提取是日常工作中经常遇到的需求。本文将详细介绍如何使用Python构建一个自动化流程,实现从.docx文件转换为.pdf,然后对.pdf文件进行OCR(光学字符识别)处理,最终将识别结果保存为Word文档。整个流程涵盖了文件转换、图像处理、OCR识别和结果整......
  • c语言:语句详解
    算法的概念及特点在说c语句前我们先了解一下算法的概念及特点广义的说、为解决一个问题采取的方法和有限的步骤,就称为“算法”数据结构+算法=程序数据结构:对数的描述算法:操作的步骤就比如把大象放进冰箱里需要几步:对我们程序员来说把大象放进冰箱里只需要三步1......
  • CDCL算法
    1.CDCL伪代码CDCL(CNF):副本=CNF//创建CNF的副本,不更改原CNFwhiletrue:while副本含有单位子句:对副本使用单位传播;if副本中含有取值为假的子句://发现冲突if现在的决策层是0:returnfalse;......
  • Exponential Recency Weighted Average Branching Heuristic for SAT SolversExponent
    1.CHB(conflicthistory-basedbranchingheuristic)分支策略1.1奖励函数\(numConflicts\)从搜索开始发生冲突的总次数\(lastConflict[v]\)文字\(v\)在冲突分析出现,则\(lastConflict[v]=numConflicts\)\(multiplier\)取值为1.0或0.9。\(multiplier=1.0\)当分支、传播......
  • docker常用命令汇总-持续更新中
    容器卷dockervolume用法:dockervolume[command]dockervolumerm[OPTIONS]VOLUME[VOLUME...]#删除数据卷dockervolumecreatefor_tomcat#创建volume数据卷,名称叫for_tomcatdockervolumels#查看当前所有数据卷......
  • 51c视觉~合集23
    我自己的原文哦~  https://blog.51cto.com/whaosoft/11859242#工业缺陷检测中数据标注需要注意的几个事项在工业场景中,网络结构决定了下限,数据决定着上限,要想模型有好的表现,数据是至关重要的。下面就这个项目来说一说,工业缺陷检测在标注数据时需要注意的几个事项:1、离得......
  • C 语言实现物体检测:使用 YOLO 模型
    环境准备在进行物体检测之前,确保你已经在C语言环境中安装了以下软件:OpenCV用于图像处理。Darknet用于YOLO模型训练和推理。安装步骤:安装OpenCV:bashsudoapt-getinstalllibopencv-dev安装Darknet:bashgitclonehttps://github.com/pjreddie/darknet.gitcd......
  • [C++]常用的windows控制台操作
    目录一、光标1.隐藏光标2.移动光标二、窗口大小1.调整大小2、固定大小三、颜色1.cmd命令2.直接printf颜色四、控制台1.标题一些常用的控制台操作!注意:该文章全程需要:Windows.h头文件,因为使用了Windows的API一、光标1.隐藏光标voidHideCursor(){ CONSOLE_CURSOR_I......
  • M芯片parallels desktop安装arm win10“管理员已阻止你运行此应用mmc.exe”解决方法
    具体解决方法:1、由于MMC.exe无法运行,可能会遇到在运行中输入“gpedit.msc”命令无法打开本地组策略编辑器,所以我们鼠标右键点击“开始菜单”,点击“windowspowershell(管理员)”,或者是开始→window系统→命令提示符→右击选择以管理员身份运行,在windowspowershell(管理员)或者CMD命......
  • [C#] 对24位图像进行水平翻转(FlipX)的跨平台SIMD硬件加速向量算法(使用YShuffleX3Kern
    在上一篇文章里,给大家讲解了32位图像水平翻转(FlipX)算法,于是本文来探讨更加复杂的24位图像水平翻转算法。本文除了会给出标量算法外,还会给出向量算法。且这些算法是跨平台的,同一份源代码,能在X86(Sse、Avx等指令集)及Arm(AdvSimd等指令集)等架构上运行,且均享有SIMD硬件加速。一、标......