C#使用FileInfo和DirectoryInfo類來執行文件和文件夾操作

System.IO.FileInfoSystem.IO.DirectoryInfo 是C#中用于操作文件和文件夾的類,它們提供了許多有用的方法和屬性來管理文件和文件夾。

System.IO.FileInfo

FileInfo 類用于操作單個文件的信息和內容。以下是一些常用的方法和屬性:

  • Exists:檢查文件是否存在。
  • FullName:獲取文件的完整路徑。
  • Name:獲取文件的名稱(包括擴展名)。
  • Length:獲取文件的大小(以字節為單位)。
  • CreationTimeLastAccessTimeLastWriteTime:分別獲取文件的創建時間、最后訪問時間和最后寫入時間。
  • CopyTo:將文件復制到指定的目標路徑。
  • MoveTo:將文件移動到指定的目標路徑。
  • Delete:刪除文件。

System.IO.DirectoryInfo

DirectoryInfo 類用于操作文件夾的信息和內容。以下是一些常用的方法和屬性:

  • Exists:檢查文件夾是否存在。
  • FullName:獲取文件夾的完整路徑。
  • Name:獲取文件夾的名稱。
  • CreationTimeLastAccessTimeLastWriteTime:分別獲取文件夾的創建時間、最后訪問時間和最后寫入時間。
  • GetFiles:獲取文件夾中的文件列表。
  • GetDirectories:獲取文件夾中的子文件夾列表。
  • CreateSubdirectory:在當前文件夾下創建子文件夾。
  • MoveTo:將文件夾移動到指定的目標路徑。
  • Delete:刪除文件夾。

這些類提供了方便的方法來處理文件和文件夾的操作,可以根據具體的需求來選擇使用 FileInfoDirectoryInfo。使用這些類可以更加靈活地進行文件和文件夾的管理和操作。

?使用 FileInfo

using System;
using System.IO;class Program
{static void Main(){string filePath = @"C:\example\sample.txt";// 創建 FileInfo 對象FileInfo fileInfo = new FileInfo(filePath);// 檢查文件是否存在if (fileInfo.Exists){Console.WriteLine($"File name: {fileInfo.Name}");Console.WriteLine($"File size: {fileInfo.Length} bytes");Console.WriteLine($"Creation time: {fileInfo.CreationTime}");Console.WriteLine($"Last access time: {fileInfo.LastAccessTime}");Console.WriteLine($"Last write time: {fileInfo.LastWriteTime}");// 復制文件到新路徑string newFilePath = @"C:\newfolder\sample.txt";fileInfo.CopyTo(newFilePath, true); // 第二個參數表示是否覆蓋目標文件// 移動文件到新路徑string movedFilePath = @"D:\movedfolder\sample.txt";fileInfo.MoveTo(movedFilePath);// 刪除文件fileInfo.Delete();}else{Console.WriteLine("File does not exist.");}}
}

使用 DirectoryInfo:?

using System;
using System.IO;class Program
{static void Main(){string folderPath = @"C:\example\folder";// 創建 DirectoryInfo 對象DirectoryInfo directoryInfo = new DirectoryInfo(folderPath);// 檢查文件夾是否存在if (directoryInfo.Exists){Console.WriteLine($"Folder name: {directoryInfo.Name}");Console.WriteLine($"Creation time: {directoryInfo.CreationTime}");Console.WriteLine($"Last access time: {directoryInfo.LastAccessTime}");Console.WriteLine($"Last write time: {directoryInfo.LastWriteTime}");// 獲取文件夾中的文件列表FileInfo[] files = directoryInfo.GetFiles();foreach (FileInfo file in files){Console.WriteLine($"File: {file.Name}, Size: {file.Length} bytes");}// 獲取文件夾中的子文件夾列表DirectoryInfo[] subdirectories = directoryInfo.GetDirectories();foreach (DirectoryInfo subdirectory in subdirectories){Console.WriteLine($"Subfolder: {subdirectory.Name}");}// 創建子文件夾string newSubfolderPath = Path.Combine(folderPath, "newsubfolder");DirectoryInfo newSubdirectory = directoryInfo.CreateSubdirectory("newsubfolder");// 移動文件夾到新路徑string movedFolderPath = @"D:\movedfolder";directoryInfo.MoveTo(movedFolderPath);// 刪除文件夾directoryInfo.Delete(true); // 第一個參數表示是否刪除包括子文件和子文件夾}else{Console.WriteLine("Folder does not exist.");}}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/39810.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/39810.shtml
英文地址,請注明出處:http://en.pswp.cn/news/39810.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

頻繁full gc 調參

Error message from spark is:java.lang.Exception: application_1678793738534_17900289 Driver Disassociated [akka.tcp://sparkDriverClient11.71.243.117:37931] <- [akka.tcp://sparkYarnSQLAM9.10.130.149:38513] disassociated! 日志里頻繁full gc &#xff0c;可以…

Python Opencv實踐 - 圖像金字塔

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_COLOR) print(img.shape)#圖像上采樣 #cv.pyrUp(src, dstNone, dstsizeNone, borderTypeNone) #參考資料&#xff1a;https://blo…

js實現將文本轉PDF格式并下載到本地

html里面需要引入jspdf.umd.min.js和FileSaver.js jspdf.umd.min.js&#xff1a;https://www.npmjs.com/package/jspdf FileSaver.js&#xff1a;https://download.csdn.net/download/weixin_45791806/87272893?spm1001.2014.3001.5503 同時項目的根部目錄也需要引入SimHei.tt…

單片機之從C語言基礎到專家編程 - 4 C語言基礎 - 4.7 進制及其轉換

進制是數字的進位計數制&#xff0c;R進制也就是逢R進一。計算機只能識別二進制&#xff0c;也就是逢二進一&#xff0c;例如&#xff0c;11在十進制中為2&#xff0c;在二進制中逢2進1&#xff0c;則為10。以下為進制表示表。 二進制三進制八進制九進制十進制十六進制0000001…

【LeetCode 算法】Find the Losers of the Circular Game 找出轉圈游戲輸家

文章目錄 Find the Losers of the Circular Game 找出轉圈游戲輸家問題描述&#xff1a;分析代碼模擬 Tag Find the Losers of the Circular Game 找出轉圈游戲輸家 問題描述&#xff1a; n 個朋友在玩游戲。這些朋友坐成一個圈&#xff0c;按 順時針方向 從 1 到 n 編號。從…

AD域控制器將輔域控制器角色提升為主域控制器

背景 域控服務器遷移&#xff0c;已將新機器添加為該域的輔域控制器。 主域控制器&#xff1a;test-dc-01 輔域控制器&#xff1a;test-dc-02 需求將主輔域的角色進行互換&#xff0c;test-dc-01更換為輔域&#xff0c;test-dc-02更換為主域。 操作步驟 方法1 命令行修改AD域…

Datawhale Django入門組隊學習Task02

Task02 首先啟動虛擬環境&#xff08;復習一下之前的&#xff09; 先退出conda的&#xff0c; conda deactivate然后cd到我的venv下面 &#xff0c;然后cd 到 scripts&#xff0c;再 activate &#xff08;powershell里面&#xff09; 創建admin管理員 首先cd到項目路徑下&a…

mySQL 視圖 VIEW

簡化版的創建視圖 create view 視圖名 as select col ...coln from 表create view 視圖名&#xff08;依次別名&#xff09; as select col ...coln from 表create view 視圖名 as select col “別名1”&#xff0c;。。。col "別名n" from 表show tab…

Flink的常用算子以及實例

1.map 特性&#xff1a;接收一個數據&#xff0c;經過處理之后&#xff0c;就返回一個數據 1.1. 源碼分析 我們來看看map的源碼 map需要接收一個MapFunction<T,R>的對象&#xff0c;其中泛型T表示傳入的數據類型&#xff0c;R表示經過處理之后輸出的數據類型我們繼續往…

計算機提示vcruntime140_1.dll丟失的解決方法

在使用Windows操作系統時&#xff0c;有時候我們可能會遇到一些應用程序無法正常運行的問題&#xff0c;出現錯誤提示&#xff0c;其中之一可能就是缺少或損壞了vcruntime140_1.dll文件。在遇到這種情況時&#xff0c;我們可以嘗試修復vcruntime140_1.dll文件來解決問題。 先科…

后端 springboot 給 vue 提供參數

前端 /** 發起新增或修改的請求 */requestAddOrEdit(formData) {debuggerif(formData.id undefined) {formData.id }getAction(/material/getNameModelStandard, {standard: this.model.standard,name: this.model.name,model: this.model.model}).then((res) > {if (res …

《零基礎7天入門Arduino物聯網-06》程序基礎-編程語言是什么

配套視頻課程&#xff1a;《零基礎學Arduino物聯網&#xff0c;入門到進階》 配套課件資料獲取&#xff1a;微聯實驗室 配套學習套件購買&#xff1a;淘寶搜索店鋪【微聯實驗室】 程序基礎-編程語言是什么 程序是什么 程序設計可以理解為是用計算機語言創造出一系列指令的過程…

Shell 基本運算符

Shell 基本運算符 Shell 和其他編程語言一樣&#xff0c;支持多種運算符&#xff0c;包括&#xff1a; 算數運算符關系運算符布爾運算符字符串運算符文件測試運算符 原生bash不支持簡單的數學運算&#xff0c;但是可以通過其他命令來實現&#xff0c;例如 awk 和 expr&#…

HuggingFace開源的自然語言處理AI工具平臺

HuggingFace是一個開源的自然語言處理AI工具平臺&#xff0c;它為NLP的開發者和研究者提供了一個簡單、快速、高效、可靠的解決方案&#xff0c;讓NLP變得更加簡單、快速、高效、可靠。 Hugging Face平臺主要包括以下幾個部分&#xff1a; Transformers&#xff1a;一個提供了…

期權定價模型系列【5】—ETF期權數據

1.前言 對期權定價模型進行研究時&#xff0c;往往需要匹配的實際數據&#xff0c;國內上市時間超過兩年、主流的ETF期權包括華夏上證50ETF期權、滬深300ETF期權等&#xff0c;其對應的標的資產分別為華夏上證50ETF、華泰柏瑞滬深300ETF、嘉實滬深300ETF。 2.上證50ETF期權合約…

淺析基于視頻匯聚與AI智能分析的新零售方案設計

一、行業背景 近年來&#xff0c;隨著新零售概念的提出&#xff0c;國內外各大企業紛紛布局智慧零售領域。從無人便利店、智能售貨機&#xff0c;到線上線下融合的電商平臺&#xff0c;再到通過大數據分析實現精準推送的個性化營銷&#xff0c;智慧零售的觸角已經深入各個零售…

數組常用方法總結

數組常用方法總結 一.獲取數組長度1.1 使用length 二.數組轉字符串2.1 Arrays是什么2.2 使用toString() 三. 數組拷貝3.1 使用 copyOf()3.2 copyOfRange() 四.數組排序4.1使用 sort() 五. 數組逆序六. 判斷兩個數組是否相等6.1 使用equals() 一.獲取數組長度 1.1 使用length p…

ArrayList

目錄 1.ArrayList簡介 2.ArrayList的構造 2.1ArrayList() 2.2ArrayList(Collection c) 2.3ArrayList(int initialCapacity) 3.ArrayList常見操作 4.ArrayList的遍歷的遍歷 1.ArrayList簡介 在集合框架中&#xff0c; ArrayList 是一個普通的類&#xff0c;實現了 List…

【jenkins】jenkins流水線構建打包jar,生成docker鏡像,重啟docker服務的過程,在jenkins上一鍵完成,實現提交代碼自動構建的功能

【jenkins】jenkins流水線構建打包jar&#xff0c;生成docker鏡像&#xff0c;重啟docker服務的過程&#xff0c;在jenkins上一鍵完成&#xff0c;實現提交代碼自動構建&#xff0c;服務重啟&#xff0c;服務發布的功能。一鍵實現。非常的舒服。 1. 啟動腳本 shell腳本 這是 s…