前言

阅读项目编辑器的代码时,发现好多与文件(夹)路径相关代码。本来自己之前对路径相关的东西就模模糊糊,希望通过这篇笔记能让自己模糊的地方明朗一下。

" / " 与 " \ "

你是否有过这样的疑惑: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…