`

tango.io.FilePath 翻译(r4774)

阅读更多

tango.io.FilePath

License:

BSD style: see license.txt

Version:

Oct 2004: Initial version

Version:

Nov 2006: Australian version

Version:

Feb 2007: Mutating version

Version:

Mar 2007: Folded FileProxy in

Version:

Nov 2007: VFS dictates '/' always be used

Version:

Feb 2008: Split file-system calls into a struct

Author:

Kris

FilePath 提供一个有效地编辑路径成分和访问底层文件系统的途径。

当你想徒步访问文件系统时使用模块Path.d 来代替,它不会改变路径成分。

void memmove(void* dst, void* src, uint bytes) [private, extern(C)] #
class FilePath : PathView #
构造文件路径模型。预计被用作各种文件类的构造参数。目的是使他们容易转换成别的表示方法如绝对形式(absolute)、标准形式(canonical)或网络地址(Url)。
文件路径包含非ansi字符而用utf-8编码。以这种方式来支持Unicode相信比提供一个wchar版本的FilePath更合适,并且给Uri类带来一致的和兼容的方法。

FilePath旨在被转换,这样每个变异方法可以修改内部的内容。在Path.d中可见到一个轻量级的不可变变种。

:毗连的'.'分隔符形式被看作特殊的,用在把它们赋给没有明显后缀的名称时。此外,一个在名称开头的'.'预示它不是一个后缀,例如".file"是一个名称不是一个后缀。中间'.'字符的形式属于后缀,如"file....suffix"包含后缀自身的点操作符'.'。看看没有点操作符后缀的方法ext()

注意 Win32 '\' 字符被FilePath 构造器默认地转换为 '/'

alias bool delegate (FilePath, bool) Filter [public] #
用于通过toList()筛查路径的过滤器。
FilePath opCall(char[] filepath = null) [static] #
创建一个FilePath实例的调用捷径。这使得与结构用法有相同的语法,因此揭示了一个迁移途径。
this(char[] filepath = null) #
从提供的字符串的副本创建一个FilePath
FilePath假定可以表示路径(path)和名称(name)部分,因此可以被分离成别的符合逻辑的有效路径。也就是说,一个文件的"name"部分是跟随在最右边路径分隔符的路径部分。意图是用相同方式对待文件和目录;作为一个名称和一个可选的祖传结构。尽可能的通过添加一个尾部路径分隔符到参数以纠偏解释。这样就会产生一个空的name属性。

对于文件路径复制,我们发现最常见的是显式.dup,而比较起来别名使用出现得很罕见。我们也注意到与面向C的操作系统交互调用占了很大比重,这种情况下意味着一个null结束后缀。于是,FilePath把它们合并为一个简单的操作。

注意Win32 '\' 字符被正规化为 '/' 代替。

char[] toString() [final] #
返回这个filepath的完整文本。
FilePath dup() [final] #
复制该路径。
char[] cString() [final] #
返回该文件路径的完整文本,对于带C api使用时以一个null作结尾符。对于任何D api使用toString代替。
值得注意的是nul总是嵌入FilePath维护的字符串,所以在C调用时没有堆开销。
char[] root() [final] #
返回这个路径的根。根是像"c:"这样的构造。
char[] folder() [final] #
返回文件路径。路径可以用一个“/”开始和结束。根路径是“/”和未指定路径返回一个空字符串。目录路径可以被分离,目录名可以被放到“name”成员中;目录路径可以看作与文件路径不同。
char[] parent() [final] #
返回一个表示当前路径的上一级的路径。在名称部分为空的特殊情况下,将典型地返回当前路径部分。在以下情形,扫描前面部分的路径:
1
2
normal:  /x/y/z => /x/y
special: /x/y/  => /x
注意它返回适合分离成路径(path)和名称(name)部分的路径(没有尾部分隔符)。

参见pop(),当它与FilePath实例一起工作时通常会更有用。

char[] name() [final] #
返回这个文件或目录的名称。
char[] ext() [final] #
ext(扩展名)是文件名的尾部,最右边“.”分隔符的右边部分,如路径“path.bar”ext是“bar”。注意相邻的分隔符的形式被特殊对待;如“..”以没有ext结束。
char[] suffix() [final] #
后缀有点像ext,但它包含分隔符,如路径“foo.bar”的后缀是“.bar”
char[] path() [final] #
返回root (根)+ folder(文件夹)的组合。
char[] file() [final] #
返回name (名字)+ suffix (后缀)的组合。
int opEquals(Object o) [override, final] #
如果所有字段都相等就返回true
int opEquals(char[] s) [final] #
判断这个FilePath与给定的文字是否相等?
bool isAbsolute() [final] #
如果这文件路径不是与当前工作目录相应的就返回true
bool isEmpty() [final] #
如果这个FilePath 为空就返回true
bool isChild() [final] #
如果FilePath有上一级就返回true。 需要指出的是,上一级由路径中的路径分隔符的出现来定义。这意味着“\foo”中的“foo”被认为是根的一个孩子(下一级)。
FilePath replace(char from, char to) [final] #
'to'中实体来替换 'from' 中所有的实体。
FilePath standard() [final] #
转换路径分隔符到标准格式,使用“/”作为路径分隔符。这将与URI和所有Tango支持的现代O / S兼容。已知的例外包括Windows命令行处理器,它把“/”作为一个开关。使用native()方法来支持。

注:会改变当前路径。

FilePath native() [final] #
如果需要的话,转换到原生操作系统路径分隔符,例如处理Windows命令行时。

注:会改变当前路径。可以使用这种模式来获得一份副本:path.dup.native

FilePath cat(char[][] others...) [final] #
连接文字到这个路径;没有分隔符被添加。也可看看join()
FilePath append(char[] path) [final] #
附加一个文件夹到这个路径。根据需要添加一个前导分隔符。
FilePath prepend(char[] path) [final] #
在当前路径前面追加一个文件夹。如果需要的话添加一个后续分隔符。
FilePath set(FilePath path) #
重置当前路径的内容到另一个路径并且后果新解析。
FilePath set(char[] path, bool convert = false) [final] #
重置这个路径的内容,并重新解析。在解析前,有一个任选的布尔标志可以把路径转换成标准形式(转换“\”成“/”)。
FilePath isFolder(bool folder) [final] #
为已知是文件夹的路径避开了正常的查找。如果文件夹为true,文件系统查找将会跳过它。
FilePath root(char[] other) [final] #
更换这个路径的根部分。
FilePath folder(char[] other) [final] #
替换这个路径的文件夹部分。这个文件夹将根据需要用路径分隔符填补。
FilePath name(char[] other) [final] #
替换这个路径的名字部分。
FilePath suffix(char[] other) [final] #
替换这个路径的后缀部分。该后缀将会根据需要在前面放一个文件分隔符。
FilePath path(char[] other) [final] #
替换这个路径的根和文件夹部分并重新解析。替换者会根据需要用一个路径分隔符填补。
FilePath file(char[] other) [final] #
替换这个路径的文件和后缀部分并重新解析。代替者根据需要前置一个后缀分隔符。
FilePath pop() [final] #
弹出当前文件路径的上一级(在原位改变这个FilePath)。
char[] join(char[][] paths...) [static] #
把一系列路径结合起来。一个路径分隔符被潜在地插入到每个段中。
FilePath absolute(char[] prefix) [final] #
把这个FilePath转换成绝对格式,必须时使用给定前缀。如果这个FilePath已经是绝对的,就原封不动地返回它。
必要是调整后返回该FilePath
char[] stripped(char[] path, char c = FileConst.PathSeparatorChar) [static] #
返回一个调整过的路径,如没有结尾分隔符的非空实例这样的情形。
char[] padded(char[] path, char c = FileConst.PathSeparatorChar) [static] #
返回一个调整过的路径,在总是有结尾分隔符的非空实例情形下。
char[] prefixed(char[] s, char c = FileConst.PathSeparatorChar) [static] #
返回一个调整过的路径,在非空实例总是有一个分隔符前缀的情形。
FilePath parse() [private, final] #
解析路径的规格,必要时改变'\''/'
void expand(uint size) [private, final] #
潜在地可更多内容腾出地方来。
int adjust(int head, int tail, int len, char[] sub) [private, final] #
插入/删除内部的内容。
FilePath create() [final] #
文件系统方法
创建一个由这个文件夹和所有父文件夹一起组成的完整路径。路径必须不包含'.''..'部分。相关的方法包括PathUtil.normalize()absolute()

注意,每个部分被当做文件夹创建,包括结尾部分。

返回:

一个连锁引用(this)

抛出:

系统错误时抛出IOException 异常。

抛出:

如果一个部分是作为一个文件存在而不是文件夹时,会抛出IllegalArgumentException(非法参数异常)异常。
FilePath[] toList(Filter filter = null) [final] #
列出这个文件夹内的文件名集合,使用提供的过滤器来控制列表:
1
bool delegate (FilePath path, bool isFolder) Filter
给定路径包含过滤器就返回true,否则返回font-fam
分享到:
评论

相关推荐

    tango-controls.pdf

    Tango还提供了多种工具和扩展,例如内置工具、归档工具、图形用户界面(GUI)构建工具以及各种语言的绑定工具,如Python、Java等。 开发者指南详述了Tango Control System的架构、核心C++类库的文档以及如何贡献代码...

    Windows安装TANGO教程.docx

    ### Windows安装TANGO教程知识点详解 #### 一、前言 本教程旨在详细介绍如何在Windows 10操作系统上搭建TANGO环境。TANGO是一种广泛应用于分布式控制系统的框架,尤其适用于科学仪器与工业自动化领域的应用。本文将...

    TangoTagger:Clojure 库,用于根据来自 tango.info 网站的数据自动标记探戈歌曲

    探戈标签Clojure 库,用于根据来自 tango.info 网站的数据自动标记探戈歌曲。执照版权所有 :copyright: 2014 Bruno Alfirević 根据 Eclipse 公共许可证分发 1.0 版或(由您选择)任何更高版本。

    谈客视频电话 Tango v3.13.128111

    软件语言:多语言 软件类别:网络语音 软件大小:26.18 MB 适用固件:2.1及更高固件 内置广告:没有广告 适用平台:Android Tango为您带来免费的高品质视频通话,在3G和Wi-Fi网络上都运行如飞!全世界数百万用户都...

    Tango视频电话 v3.13.127894

    Tango视频电话3.13.127894 Tango Video Calls 大小:26.18MB 更新时间:2015-01-12 Tango为您带来免费的高品质视频通话,在3G和Wi-Fi网络上都运行如飞!全世界数百万用户都在使用妙趣横生又简单易用的Tango视频...

    学习D语言的tango:第三章 D的面向对象特性

    在本篇中,我们将深入探讨D语言的面向对象特性,特别是在使用Tango库时的一些关键概念和实践。Tango是一个全面的、现代化的C++风格的库,它为D语言提供了一种简单、高效的接口,使得开发过程更为便捷。本文将通过...

    tango, 微型&可以插入网络框架.zip

    tango, 微型&可以插入网络框架 Tango 软件包探戈是一个微型&可以插入的网页框架。当前版本:v0.5.0 版本的历史记录。正在启动要安装 Tango:go get github.com/lunny/tango

    PyPI 官网下载 | django-tango-0.3.1.tar.gz

    标题"PyPI 官网下载 | django-tango-0.3.1.tar.gz"表明这是一个从Python Package Index (PyPI)官方源下载的软件包,名为"django-tango",版本号为0.3.1,其格式是tar.gz。PyPI是Python社区中最主要的第三方软件库...

    Python库 | tango-comments-0.4.3.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:tango-comments-0.4.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    authz:移动了https

    身份验证 authz是的授权中间件,它... tg := tango . Classic () sessions := session . New () tg . Use ( tango . HandlerFunc ( func ( ctx * tango. Context ) { sess := sessions . Session ( ctx . Req ()

    Python库 | tango-articles-0.12.1.tar.gz

    《Python库:tango-articles-0.12.1.tar.gz详解》 在Python的世界里,库扮演着至关重要的角色,它们为开发者提供了丰富的功能,简化了代码编写过程。今天我们将聚焦于一个名为“tango-articles”的库,其版本为...

    tango-colors:探戈颜色定义用于python,乳胶和其他..

    如果要在乳胶文档中使用这些探戈颜色,请将tango.sty放在某个可以找到乳胶的地方。 例如,在texmf目录中。 Python 您有两种使用颜色的方法。 如果只需要HTML模型,则可以导入TANGO_HTML_COLORS ,这是探戈颜色的...

    Tango-D2:Tango库到D2的端口

    现在,这意味着基本上所有用户模块(tango.math.BigNum除外,别名为std.bigint,直到另行通知)和大多数tango.core模块都已移植。 doc / examples文件夹中的示例也应该起作用。 我在Linux上进行移植,因此这是经过...

    flume-redis:Flume-Redis添加了源和接收器功能以支持Apache Flume中的Redis

    agent.sources.redisSource.type = com.tango.logstash.flume.redis.source.RedisSource agent.sources.redisSource.host = localhost agent.sources.redisSource.key = logstash agent.sources.redisSource.batch_...

    TangoSDK_Eisa_Unity5.unitypackage

    TangoSDK_Eisa_Unity5.unitypackage

    tango风格的XP主题

    Tango是一种用户界面设计语言,它强调简洁、清晰和一致的图标设计,旨在提供更好的用户体验。这种主题将Tango的设计原则应用到Windows XP的视觉样式中,使桌面、窗口和其他UI元素呈现出Tango的特色。 【描述分析】 ...

    manual-zh-CN:Tango使用指南 Moved to https

    Tango 是一个微内核易扩展的Go语言Web框架,他兼有Beego的效率和Martini的中间件设计。 最近更新 [2016-2-1] 新增 session-ssdb,支持将ssdb作为session的后端存储 [2015-10-23] 更新插件,解决模板修改后需要刷新两...

    电路设计软件tango

    《Tango:电路设计软件的历史与应用》 Tango,这款被誉为古老的电路板设计软件,是电子工程领域中的一颗璀璨明星。它以其强大的功能和在DOS操作系统下的独特运行方式,为电路设计者提供了丰富的工具,使得在早期的...

    PyPI 官网下载 | tango-capo-0.2.tar.gz

    标题中的"PyPI 官网下载 | tango-capo-0.2.tar.gz"表明这是一个在Python Package Index(PyPI)官方源上发布的软件包,名为"Tango Capo",版本为0.2,格式为tar.gz。PyPI是Python开发者分享和获取第三方库的平台,...

    tango:一个基于React的WordPress主题原型

    Tango是一个实验性的WordPress主题,将与标准模板文件结合使用。 目标是开发一种方法,以将基于JavaScript的UI的魔力添加到使用PHP构建的现有WordPress主题中。 需要插件。 安装 安装并激活插件。 将其保留在...

Global site tag (gtag.js) - Google Analytics