我有三个独立的Linux服务器,它们在名为/ efs
的目录下挂载并共享同一个文件系统我有一个使用此文件系统的Java应用程序,并且需要能够验证文件系统是否已正确安装(否则,它只会在本地计算机上而不是共享存储上写入/ efs知道) - 我如何从运行时检测到文件系统已挂载到目录?
很抱歉,如果这是一个重复的问题。我确实试图找到相关信息,但我找不到明确的答案。
答案 0 :(得分:0)
回答我自己的问题 - 我刚刚想到在已安装的文件系统中创建一个文件,只需检查该文件是否存在,避免任何依赖操作系统的代码。
答案 1 :(得分:0)
我看到了解决这个问题的几种方法:
Files.getFileStore(path).type()
对它们进行比较。然后,文件系统/是相同的将是缺少/ efs安装的明确指示。这假设JDK> = 7。/proc/mounts
以查看已挂载的文件系统以及使用哪些选项。这与Java的FileStore API使用的数据源相同,因此您可以直接从JDK源获取解析逻辑。这将独立于Java版本。Files.exists(path)
或new File(path).exists()
进行检查。这将独立于Java版本,甚至独立于Linux。