Java 是否强加了它自己的任何额外限制。Windows(直到 Vista)不允许包含名称
\ / < > ? * :
我知道如何验证名称(正则表达式)。
我需要验证用户输入的文件名。
我的应用程序不需要在任何其他平台上运行,当然,我更愿意独立于平台!
Java 是否强加了它自己的任何额外限制。Windows(直到 Vista)不允许包含名称
\ / < > ? * :
我知道如何验证名称(正则表达式)。
我需要验证用户输入的文件名。
我的应用程序不需要在任何其他平台上运行,当然,我更愿意独立于平台!
不,您可以转义 Java 不允许在字符串文字中使用但文件系统允许的任何字符。
此外,如果尝试将 Windows 应用程序移植到 Mac 或 Unix,最好使用:
File.separator
确定要在每个平台上使用的正确文件分隔符。
当您创建一个输入的参数时,该类new File
的特定平台实现将对其进行规范化。java.io.FileSystem
据我所知,没有特定于 Java 的限制。
是的,总是使用File.separator
.
Java 支持任何String
可以用 Unicode 表示的东西(受制于一些非常长的最大长度,Integer.MAX_VALUE
),文件名只是另一种String
.
当然,这意味着您可以尝试使用底层操作系统不支持的名称来引用文件。IOException
如果你这样做,当你尝试使用文件参考时,你会得到某种结果......