@property bool isDir(R)(R name) 如果(isSomeFiniteCharInputRange!R && !isConvertibleToString!R);

@property bool isDir(R)(auto ref R name) 如果(isConvertibleToString!R); 返回给定文件是否为目录。 参数: R name - 文件路径。 返回: 如果name指定一个目录,则为true 抛出: 如果给定文件不存在,则抛出FileException。 示例: import std.exception : assertThrown;

auto dir = deleteme ~ "dir"; auto f = deleteme ~ "f"; scope(exit) dir.rmdir, f.remove;

assert(!dir.exists); assertThrown!FileException(dir.isDir);

dir.mkdir; assert(dir.isDir);

f.write("."); assert(!f.isDir);

纯的无异常的@nogc @safe bool attrIsDir(uint attributes); 返回给定文件属性是否为目录。 参数: uint attributes - 文件属性。 返回: 如果attributes指定一个目录,则为true 示例: import std.exception : assertThrown;

auto dir = deleteme ~ "dir"; auto f = deleteme ~ "f"; scope(exit) dir.rmdir, f.remove;

assert(!dir.exists); assertThrown!FileException(dir.getAttributes.attrIsDir);

dir.mkdir; assert(dir.isDir); assert(dir.getAttributes.attrIsDir);

f.write("."); assert(!f.isDir); assert(!f.getAttributes.attrIsDir);

@property bool isFile(R)(R name) 如果(isSomeFiniteCharInputRange!R && !isConvertibleToString!R);

@property bool isFile(R)(auto ref R name) 如果(isConvertibleToString!R); 返回给定文件(或目录)是否为文件。 在Windows上,如果文件不是目录,则它是文件。因此,对于任何给定的文件,isFile或isDir都将返回true。 在POSIX系统上,如果isFile为true,则表示该文件是常规文件(例如不是块不是设备)。因此,在POSIX系统上,对于特定文件,isFile和isDir都可能为false(在这种情况下,它是一个特殊文件)。您可以使用getAttributes获取属性来确定特殊类型是什么,或者您可以使用DirEntry来获取其statBuf,该statBuf是stat的结果。在任何一种情况下,请参阅stat的手册以获取更多信息。 参数: R name - 文件路径。 返回: 如果name指定一个文件,则为true 抛出: 如果给定文件不存在,则抛出FileException。 示例: import std.exception : assertThrown;

auto dir = deleteme ~ "dir"; auto f = deleteme ~ "f"; scope(exit) dir.rmdir, f.remove;

dir.mkdir; assert(!dir.isFile);

assert(!f.exists); assertThrown!FileException(f.isFile);

f.write("."); assert(f.isFile);

纯的无异常的@nogc @safe bool attrIsFile(uint attributes); 返回给定文件属性是否为文件。 在Windows上,如果文件不是目录,则它是文件。因此,对于任何给定文件的属性,attrIsFile或attrIsDir都将返回true。 在POSIX系统上,如果attrIsFile为true,则表示该文件是常规文件(例如不是块不是设备)。因此,在POSIX系统上,对于特定文件,attrIsFile和attrIsDir都可能为false(在这种情况下,它是一个特殊文件)。如果文件是特殊文件,则可以使用属性检查其特殊文件类型(有关详细信息,请参见stat的手册)。 参数: uint attributes - 文件属性。 返回: 如果给定文件属性为文件,则为true 示例: assert(attrIsFile(getAttributes("/etc/fonts/fonts.conf"))); assert(attrIsFile(getLinkAttributes("/etc/fonts/fonts.conf"))); 示例: import std.exception : assertThrown;

auto dir = deleteme ~ "dir"; auto f = deleteme ~ "f"; scope(exit) dir.rmdir, f.remove;

dir.mkdir; assert(!dir.isFile); assert(!dir.getAttributes.attrIsFile);

assert(!f.exists); assertThrown!FileException(f.getAttributes.attrIsFile);

f.write("."); assert(f.isFile); assert(f.getAttributes.attrIsFile)


原文地址: http://www.cveoy.top/t/topic/gSwO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录