栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java-如何找出文件名是否有效?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java-如何找出文件名是否有效?

使用

createNewFile()
,仅当文件尚不存在时,它会自动创建文件。

如果创建了文件,则该名称有效,并且不会破坏现有文件。然后,您可以打开文件,并通过

FileChannel.transferXXX
操作将数据从一个有效地复制到另一个。

要记住的重要一点是,通常,检查和创建应该是原子的。如果首先检查操作是否安全,然后作为一个单独的步骤执行操作,则此时的条件可能已更改,从而使操作不安全。

可以在以下相关文章中获得更多的思考:“Java中的移动/复制操作”。


更新:

从这个答案开始,就引入了NIO.2 API,它增加了与文件系统的更多交互。

假设您有一个交互式程序,并且想在每次按键后验证文件是否可能有效。例如,您可能只想在条目有效时才启用“保存”按钮,而不是在按“保存”后弹出错误对话框。创建并确保删除我上面的​​建议所需要的许多不必要的文件似乎是一团糟。

使用NIO.2,您无法创建

Path
包含文件系统非法字符的实例。
InvalidPathException
尝试创建时会引发An
Path

但是,没有API可以验证由有效字符组成的非法名称,例如Windows上的“
PRN”。作为一种解决方法,实验表明,在尝试访问属性时(

Files.getLastModifiedTime()
例如,使用),使用非法文件名会引发明显的异常。

如果为确实存在的文件指定合法名称,则不会例外。

如果为不存在的文件指定合法名称,则会引发

NoSuchFileException

如果指定非法名称,

FileSystemException
则会引发。

但是,这似乎很繁琐,在其他操作系统上可能并不可靠。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/497432.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号