java File中File.exists() 与 File.isFile()区别?
2016-12-09 18:05
471 查看
这种区别一般在Linux环境中比较明显。
比如在Linux环境中
使用
使用
也就是说如果是我们常见的普通文件,两者是没多少区别的!
区别只在于特殊文件中。
http://stackoverflow.com/a/38620520/6952713
比如在Linux环境中
/dev/null这个文件是个特殊文件。
使用
File.isFile()方法返回结果是
false
使用
File.exists()方法返回结果是
true
也就是说如果是我们常见的普通文件,两者是没多少区别的!
区别只在于特殊文件中。
Use File.exists() when dealing with special files like named pipes, sockets or device files. Those are not regular files nor directories nor symlinks so both File.isFile() and File.isDirectory() will return false while File.exists() will return true. For example /dev/null (on Unix compatible OSes) is a device file. Theoretically there may be performance differences visible when processing large amounts of files. This depends also on filesystem, JVM implementation details, OS etc. Eg. on Android File.exists() is implemented using access() system call while File.isFile()/File.isDirectory() use stat(). In this case processing stat() output requires more logic in userspace than access().
http://stackoverflow.com/a/38620520/6952713
相关文章推荐
- java并发之Lock与synchronized的区别
- Java并发编程规则:构建线程安全的共享对象
- @Resource和@Autowired的区别
- JS客户端RSA加密,Java服务端解密
- Spring中Scope作用域
- 深入解析struts.xml配置的实现原理
- java路径读取方法
- maven3创建自定义的archetype
- spring-day6
- lombok注解介绍
- 深入解析struts.xml配置的实现原理
- Java中用正则表达式判断日期格式是否正确
- Java笔记:异常
- 个人看书学习java的心得!
- 对javav的一些起源认识!
- java8 Lambda表达式详解
- Spring @responsebody返回json字符串乱码 or 请求406
- 个人对java的一些发展认识!
- windows下利用批处理命令生成maven项目(java、javaWeb)
- Java代码性能优化