Pac*_*ier 126 java platform-independent
似乎有三种相同的方法可以独立地获得与平台相关的"文件分隔符"平台:
我们如何决定何时使用哪个?
他们之间甚至有什么不同吗?
Bri*_*128 132
System.getProperties()可以通过调用System.setProperty(String key, String value)或使用命令行参数来覆盖-Dfile.separator=/
File.separator 获取默认文件系统的分隔符.
FileSystems.getDefault() 获取默认文件系统.
FileSystem.getSeparator()获取文件系统的分隔符.请注意,作为一种实例方法,您可以使用此方法将不同的文件系统传递给除默认值之外的代码,前提是您需要代码在一个JVM中的多个文件系统上运行.
dar*_*ioo 29
如果您的代码没有跨越文件系统边界,即您只是使用一个文件系统,那么请使用java.io.File.separator.
如上所述,这将使您获得FS的默认分隔符.正如Bringer128所解释的那样,System.getProperty("file.separator")可以通过命令行选项覆盖,并且不像类型安全java.io.File.separator.
最后一个java.nio.file.FileSystems.getDefault().getSeparator();是在Java 7中引入的,所以如果你希望你的代码可以在旧的Java版本中移植,那么你现在也可以忽略它.
因此,这些选项中的每一个都与其他选项几乎相同,但并不完全相同.选择一个适合您需求的产品.
| 归档时间: |
|
| 查看次数: |
124706 次 |
| 最近记录: |