我正在写一个解析器。在我的系统中,我有一个路径(绝对有效)或一个名称。我需要知道当前的字符串条目是否是路径而不是名称。 我想使用 Hadoop.fs.Path 并向此类发送一个字符串,我知道它将从该字符串构造一个路径,但如果该字符串不是路径怎么办?我是否需要编写自己的函数来解析路径,或者是否有任何可用的功能可供我使用?
谢谢
最佳答案
几乎任何长度合理的字符串都可以是一条路径。例如,我可能在当前目录中有一个名为 Richard
的目录,此时 Richard
将是一个有效路径。此外,用户可能会认为有这样一条路径(但实际上是 Rich
),但实际上它不见了。因此,如果您问“我如何判断任意字符串是否是路径”,答案是您不能。
因此在您的解析器中,您将不得不以其他方式处理它。路径必须存在吗?如果是,只需创建文件对象并询问它是否存在(如果您有路径对象并且正在使用 Hadoop,您可以使用 fs.FileSystem.exists
来做到这一点)。或者,您需要确定名称的标准(例如,它存在于数据库中或映射到某处)并首先挑选出那些,假设其他一切都是路径。
关于string - 在程序中检查输入字符串是否为路径的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29267525/