tango.io.FileScan
(r4774)
License:
BSD style: see license.txt
Version:
Jun 2004: Initial release
Version:
Dec 2006: Pacific release
Author:
Kris
-
class FileScan ¶#
- 递归地扫描文件和目录 ,我们执行时增加过滤文件到一个输出结构中。这可以用来产生一个子目录和包含在其中的文件的清单。下面的例子列出所有后缀是“ .d”位于当前目录下的文件和包含它们的文件夹:
-
1 2 3 4 5 6 7 8 9 10 11
auto scan = new FileScan; scan (".", ".d"); Stdout.formatln ("{} Folders", scan.folders.length); foreach (folder; scan.folders) Stdout.formatln ("{}", folder); Stdout.formatln ("\n{} Files", scan.files.length); foreach (file; scan.files) Stdout.formatln ("{}", file);
- 这未必是扫描巨大数量的文件的最有效方法,但这是很方便的操作方式。
-
alias FilePath.Filter Filter ¶#
- 为过滤器委托作别名。接受一个 FilePath和一个 bool值作为参数 ,并返回一个 bool。
如果与过滤器匹配,过滤器返回true。注意如果路径是一个文件夹就返回false并且忽略包含在里边的所有文件。要递归文件夹,象这样做:
-
1
return (isDir || match (fp.name));
char[][] errors() [public] ¶#
- 返回所有在最后扫描找到的错误。 FilePath[] files() [public] ¶#
- 返回在最后扫描找到的所有文件。 FilePath[] folders() [public] ¶#
- 返回在最后扫描找到的所有文件夹。 FileScan sweep(char[] path, bool recurse = true) ¶#
- 从给定的父(上级)路径扫描( sweep)一系列文件和目录,不应用过滤器。 FileScan sweep(char[] path, char[] match, bool recurse = true) ¶#
- 从给定的父(上级)路径扫描( sweep)一系列文件和目录,文件通过给定后缀被过滤。 FileScan sweep(char[] path, Filter filter, bool recurse = true) ¶#
- 从给定的父(上级)路径扫描( sweep)一系列文件和目录,文件通过给定委托被过滤。 FileScan scan(FilePath folder, Filter filter, bool recurse) [private] ¶#
- 用来查找文件和子目录的内部例程。我们路过仅由 '.'字符组成的名字。
Copyright (c) 2004 Kris Bell. All rights reserved :: Generated by dil on Sat Jun 27 18:19:38 2009. Rendered by kandil.