C#文件(夾)讀取相關(完善中。。。)

前言

閱讀項目編輯器的代碼時,發現好多與文件(夾)路徑相關代碼。本來自己之前對路徑相關的東西就模模糊糊,希望通過這篇筆記能讓自己模糊的地方明朗一下。

" / " 與 " \ "

你是否有過這樣的疑惑:Windows電腦上的文件路徑是"E:\Project\unityruntime\Assets",使用的是反斜杠\。而C#或Unity中文件的代碼路徑是"E:/Project/unityruntime/Assets",使用的是正斜杠/。其實道理是一樣的,都是作為路徑分隔符,只是不同平臺或語言環境使用的字符不同。大多數 .NET/Unity 的路徑處理函數都能識別混合的斜杠方向,包括同時出現正斜杠 / 和反斜杠 \ 的情況。系統會在內部把它們視作有效的路徑分隔符,通常不會報錯。

Application.dataPath

順便提一嘴"Application.dataPath",此為Unity資產Assets目錄。

特別注意

后面路徑開頭要帶正斜杠" / "。

string filePath = Application.dataPath + "/../../策劃文檔/Config";

/. 與 /..

" /. " 代表當前目錄。

" /. ." 代表上級目錄。

Path類

1).GetFullPath方法

把給定的路徑規范化成一個唯一、規范的絕對路徑。

我的理解就是將不明確的路徑重構,轉換成一個完整、明確的絕對路徑。

2).Combine方法

路徑拼接。

Debug.Log($"{Path.Combine(Application.dataPath, "/TestFloder")}");
### 打印信息:/TestFloder
### 問題原因:
### Path.Combine 在遇到以斜杠開頭的路徑段時,會把它當成絕對路徑來處理,前面的部分會被丟棄,直接返回第二段的絕對路徑。### 問題修改:去掉正斜杠
### Debug.Log($"{Path.Combine(Application.dataPath, "TestFloder")}");
### 打印信息:F:/Demo/NewTestDemo/Assets\TestFloder

意外發現:在Log拼接后的路徑的時候發現.Net/Unity能識別正反斜杠混合的路徑。

Directory類

DirectoryInfo類

DirectoryInfo directory = new DirectoryInfo(dirPath);
FileInfo[] files = directory.GetFiles("*.json", SearchOption.TopDirectoryOnly);

如果你想操作“dirPath”路徑的文件夾,首先new一個“dirPath”路徑的“DirectoryInfo”文件夾操作對象。

" *.json "匹配文件后綴為json的文件。

"?SearchOption.TopDirectoryOnly "為操作的對應目錄層級,此處代表"dirPath"目錄的文件。若改為"SearchOption.AllDirectories",則會遞歸搜索"dirPath"目錄及所有子目錄中的符合條件的文件。

File類

1).Copy方法

File.Copy 的兩個參數 sourceFileName 和 destFileName 都可以是絕對路徑,也可以是相對路徑。

  • sourceFileName
    • 源文件的路徑。可以是相對路徑或絕對路徑。路徑必須指向一個現有的文件,否則會拋出 System.IO.FileNotFoundException。
  • destFileName
    • 目標文件的路徑。可以是一個新的文件路徑,也可以是已存在的文件路徑(當 overwrite 為 true 時會覆蓋)。
    • 目標路徑所在的目錄需要存在;如果目錄不存在,會拋出 DirectoryNotFoundException。你可能需要在復制前確保目錄存在,必要時用 Directory.CreateDirectory。
  • overwrite
    • 指定是否覆蓋目標文件。默認重載在不傳 overwrite 時為 false(不覆蓋)。
    • 如果目標文件存在且 overwrite 為 false,會拋出 IOException。
    • 如果 overwrite 為 true,目標文件存在時會被覆蓋。

FileInfo類

FileInfo類的實例對象FullName表示文件的完整路徑(絕對路徑)。

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

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

相關文章

FPGA DP1.4 With DSC解決方案

引言:迎接高清高刷時代的顯示挑戰隨著8K分辨率、高刷新率、HDR和更廣色域內容的普及,傳統視頻接口的帶寬正面臨極限。DisplayPort 1.4標準雖提供了高達32.4 Gbps的帶寬(HBR3速率),但要無壓縮地傳輸8K60Hz 10bpp HDR視頻…

新手向:Python開發簡易網絡服務器

Python網絡服務器開發指南:從零開始的完整實現網絡服務器基礎概念網絡服務器是互聯網基礎設施的核心組件,它本質上是一個持續運行的程序,負責監聽特定端口(如HTTP服務的80端口或HTTPS的443端口),處理來自客…

819 機器學習-決策樹2

一、決策樹的算法信息增益:某個屬性帶來的熵增1、決策樹三大經典算法? ID3 → 信息增益 信息增益:某個屬性帶來的熵增? C4.5 → 信息增益率 信息增益率:信息增益自身熵? CART → 基尼指數(分類);平方誤…

Objective-C 版本的 LiveEventBus 效果

想要 Objective-C 版本的 LiveEventBus 效果(跨頁面/跨模塊通信,支持粘性和非粘性事件)。在 iOS 里對應的就是 NSNotificationCenter,但是它 默認不支持粘性事件,所以如果你想要“粘性”,需要自己封裝一層。…

WindowsAPI|每天了解幾個winAPI接口之網絡配置相關文檔Iphlpapi.h詳細分析七

上一篇:WindowsAPI|每天了解幾個winAPI接口之網絡配置相關文檔Iphlpapi.h詳細分析六 如果有錯誤歡迎指正批評,在此只作為科普和參考。 C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um\iphlpapi.h 文章目錄CreateIpNetEntry&#xff1…

STM32F407VGT6從零建立一個標準庫工程模板+VSCode或Keil5

一、前言 下載平臺:STM32F407ZGT6 代碼使用平臺:VSCode 編譯器:arm-none-aebi-gcc ---- 默認你已經安裝 程序下載工具:STlink ---- 默認你擁有 批處理工具:make ---- 默認你已經安裝 使用此方法可以不借助其它插件,例如:STM32EIDE。這個方法已經經過驗證可以在STM3…

佩京VR黨建工作站-黨建VR系統-VR黨建展廳

VR黨建工作站是一種依托VR虛擬現實技術的數字化黨建文化學習工具。它通過將豐富的學習內容植入到智慧黨建科技產品中,構建出沉浸式的學習場景,從而創新了體驗式學習模式,促進了黨員的自主學習。VR黨建工作站核心功能:1、了解實時新…

Kotlin 協程之Channel的概念和基本使用

前言 在 專欄 之前的文章中,我們已經知道了協程的啟動、掛起、取消、異常以及常用的協程作用域等基礎應用。 這些基礎應用適合的場景是一次性任務,執行完就結束了的場景。 launch / async 適合的場景 網絡請求數據庫查詢文件讀寫并行計算任務等等 而…

安裝使用Conda

文章目錄Linux安裝 Conda(Miniconda 或 Anaconda)?Miniconda (輕量版)激活配置Windows安裝配置 Conda?添加清華鏡像源加速創建并激活 Conda 環境驗證步驟?安裝項目依賴運行項目Linux安裝 Conda(Miniconda 或 Anaconda)? Mini…

面向智能空戰的深度強化學習技術綜述

CSDN大禮包《大模型課程》 CSDN大禮包《深度強化學習課程》 CSDN大禮包《人工智能平臺設計開發課程》

DeepSeek-V3.1 Claude Code: 革命性的AI編碼助手詳解與應用指南

DeepSeek-V3.1 & Claude Code: 革命性的AI編碼助手詳解與應用指南 今天 DeepSeek模型已支持接入 Claude Code,我們來深入探討Claude Code ——Anthropic 推出的一個強大工具。它不僅僅是一個簡單的代碼補全助手,而是一個嵌入終端的智能代理&#xf…

智能求職推薦系統

智能求職推薦系統 基于知識圖譜和大語言模型的智能求職推薦系統,為求職者提供個性化崗位推薦和AI驅動的匹配分析。 🚀 系統特性 智能推薦: 基于知識圖譜的多維度職位匹配AI分析: 集成DeepSeek大模型提供深度分析和建議可視化展示: 使用ECharts展示推薦結…

瑞芯微:AIoT芯片領航者的全棧突圍與生態崛起

一、業績高速增長的底層邏輯??瑞芯微的持續爆發式增長源于三大關鍵支柱:技術縱深??:深耕“大音頻、大視頻、大感知、大軟件”四大核心技術矩陣,自研NPU/ISP/編解碼等核心IP持續迭代;精準定位??:瞄準邊緣側與端側…

【報錯】Please do not run this script with sudo bash

目錄 報錯 分析 解決方法 擴展 報錯分析 安裝conda 報錯 Please do not run this script with sudo bash: showHelp: command not found 分析 腳本有以下要求: 不能以root身份運行(當前是root用戶)

多線程—飛機大戰排行榜功能(2.0版本)

(一)實現功能: 1.基礎的成績排序 2.相同成績隨機排名 3.用戶名注冊重復 (二)效果視頻: (三)代碼實現: 3.1 && 3.2 在FileRead類中新增方法如下:具體的代碼實現&a…

React + Antd+TS 動態表單容器組件技術解析與實現

概述在現代前端應用中,表單是用戶交互的核心部分。本文將深入分析一個基于 React 和 Ant Design 的高級動態表單容器組件,它提供了強大的可配置性、靈活的布局選項和豐富的功能擴展能力。組件核心特性1. 高度可配置的表單結構interface FormContainerPro…

51c自動駕駛~合集16

自己的原文哦~ https://blog.51cto.com/whaosoft/11739891 #CLIP系列模型如何補短板再升級 CLIP(Contrastive Language–Image Pre-training)模型自推出以來,在圖像-文本跨模態理解和生成領域取得了顯著成果。然而,經…

分級設色地圖/標注式統計地圖-中國地圖繪制

分級設色地圖/標注式統計地圖?1. 這種圖長什么樣??2. 核心應用場景?3. 工具3.1 自己找數據3.2 智圖小易司3.2 Flourish3.3 鏑數圖表注意事項當你看到一張中國地圖,各省份顏色深淺不一,旁邊還標注著具體數值時,這種圖就是?分級…

2025最新華為云國際版注冊圖文流程-不用綁定海外信用卡注冊

說到華為云,很多人第一反應就是“大廠可靠、服務全”。確實,作為全球知名的云計算服務商,華為云在企業級項目和個人開發者中都挺受歡迎。今天我就帶你一步一步走一遍華為云國際版的注冊流程,讓新手也能輕松上手。下面是最簡單的注…

Android 人臉識別技術全解析

人臉識別作為生物識別技術的核心分支,已廣泛應用于考勤打卡、身份驗證、支付安全等場景。在 Android 平臺,實現人臉識別需要兼顧準確性、實時性和設備兼容性三大挑戰。本文將系統講解 Android 人臉識別的技術選型、核心實現、性能優化及安全加固&#xf…