Java 从命令行获取一个文件路径,并在;文件";建造师?

Java 从命令行获取一个文件路径,并在;文件";建造师?,java,Java,我希望我的代码采用文件路径-C:\games\mario.txt(windows)或C:/games/mario.txt(linux)。我想在“文件”构造函数中使用此路径,如FileInputStream(“”) 如果路径为windows样式,则需要通过在every\之后添加\来修改它,即FileInputStream(“C:\\games\\mario.txt”) 是否有任何API来验证这些路径,然后准备它们在“文件”构造函数中使用?您也可以使用。它位于ApacheCommonsAPI中 在J

我希望我的代码采用文件路径-C:\games\mario.txt(windows)或C:/games/mario.txt(linux)。我想在“文件”构造函数中使用此路径,如FileInputStream(“”)

如果路径为windows样式,则需要通过在every\之后添加\来修改它,即FileInputStream(“C:\\games\\mario.txt”)

是否有任何API来验证这些路径,然后准备它们在“文件”构造函数中使用?

您也可以使用。它位于ApacheCommonsAPI中

在Java7中,您可以使用该类


您可以使用
System.getProperty(“file.separator”)
来了解下面的操作系统是否使用/或\来分隔路径。

如果这是Java 7,请忘记
file
。使用
文件
路径
!您可以调用方法
System.getProperty(“file.separator”)
,而不是使用斜杠文本,该方法获取并返回依赖于操作系统的文件分隔符字符串。(\在Windows和/或Linux上)您无需执行任何操作。Windows上的Java很乐意接受正斜杠作为路径分隔符。因此,
C:/games/mario.txt
是Java的有效文件名(以及
文件
类)。你没有什么需要改变的。@a_马_没有名字-谢谢。有道理。想知道如果有人想进入windows风格的路径,会发生什么。这也同样有效——至少在windows上是这样。但我还没有尝试过使用Unix
String path = Paths.get("C:/games/mario.txt").toString();