英文:
How do I check if a path is a directory using Okio?
问题
我正在使用Kotlin/Native中的Okio。如何检查路径(例如/path/to/directory
)是否表示目录?
检查的范围必须涉及使用文件系统来检查路径是否表示文件或目录。
示例:
"/path/to/directory".toPath().isDirectory // 如果它存在并且是一个目录,应返回true
"/path/to/file.txt".toPath().isDirectory // 如果它不存在或存在但是一个文件,应返回false
英文:
I am using Okio in Kotlin/Native. How do I check if a path (for example /path/to/directory
) denotes a directory?
The scope of the check has to involve using the file system to check if the path denotes a file or a directory.
Example:
"/path/to/directory".toPath().isDirectory // should be true if it exists as a directory
"/path/to/file.txt".toPath().isDirectory // should be false if it does not exist or exists but is a file
答案1
得分: 1
以下是两个扩展函数。它们使用FileSystem.metadataOrNull
来检索有关路径的元数据,然后继续检查路径是否是目录/普通文件。
如果文件不存在或出现错误,则会返回false。
val fs = FileSystem.SYSTEM
val Path.isDirectory get() = fs.metadataOrNull(this)?.isDirectory == true
val Path.isRegularFile get() = fs.metadataOrNull(this)?.isRegularFile == true
英文:
Here are two extension functions. They use FileSystem.metadataOrNull
to retrieve metadata about the path and then proceed with checking if the path is a directory/regular file.
In case the file does not exist or there is an error, false will be returned.
val fs = FileSystem.SYSTEM
val Path.isDirectory get() = fs.metadataOrNull(this)?.isDirectory == true
val Path.isRegularFile get() = fs.metadataOrNull(this)?.isRegularFile == true
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论