Java:什么构成了 File.isFile() 上下文中的 "normal"文件?

标签 java macos file osx-mavericks

我遇到过 file.isFile() 返回 false 的情况,这表明该文件不是“正常的”。但是,我找不到“正常”的定义。文档 link to Oracle状态:

A file is normal if it is not a directory and, in addition, satisfies other system-dependent criteria.

该文件归 _www:staff 所有,并具有 -rw-r--r-- 权限。该目录也归 _www:staff 所有,并拥有 drwxrw-r-- 权限。访问该文件的进程归 bob:staff 所有。系统是MacOS 10.9。该进程可以很好地读取、加载和显示文件;唯一的问题是对 isFile() 的调用返回 false,这意味着 Java 认为它不是普通文件。

因此,回到更大的问题,即使文件确实存在、路径正确且文件可访问,在什么情况下此调用会返回 false?

最佳答案

在 Unix 系统中,文件可以是:

  • 常规文件
  • 目录
  • 符号链接(symbolic link)
  • 命名管道
  • socket
  • 设备文件
  • 门(Sun Solaris 系统)

这里的“普通”文件指的是普通文件。它是系统不对文件的内部结构强加任何要求的一种文件。

关于Java:什么构成了 File.isFile() 上下文中的 "normal"文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25039156/

相关文章:

使用c在linux中创建具有给定名称和权限的文件

java - 将图像插入 MySQL 数据库

macos - Docker for Mac 教程 - 重叠导出路径

java - ActionListerner 中的 ClassNotFoundException

objective-c - 在并发队列中使用dispatch_semaphore_t发生死锁

swift - 如何在 Swift 4 中观察 'Any' 对象上的键路径

html - 我不想将 HTML 文件名显示为主页,例如 stackoverflow.com,而不是 stackoverflow.com/home

python - 在python中查找和替换多个文件中的多个字符串

java - String.format() 抛出 FormatFlagsConversionMismatchException

java - ClientCallStreamObserver isReady 永远不会返回 true