我正在根据动态值创建文件名,例如公司名称和forename/surname.
然后,我想在尝试创建文件之前验证文件名是否有效.这是检查它不包含任何非法字符,如果他们这样做,则替换它们.
我当然可以使用正则表达式,但是想知道是否有像commons-lang或commons-io这样的现有方法呢?
对于Java 7,如果路径包含特定文件系统的非法字符,则新方法java.nio.file.Paths.get(String path)将抛出一个InvalidPathException,但在Java 6或更早版本中,遗憾的是没有这样的函数.
由于文件名中允许的字符和长度依赖于高度平台(甚至文件系统),因此您可能没有比尝试创建文件并查看文件是否失败更好的选择.在Java 6中,使用非法路径创建FileOutputStream将抛出相当不明确的FileNotFoundException.
| 归档时间: | 
 | 
| 查看次数: | 1310 次 | 
| 最近记录: |