【问题标题】:Find root directory for a given file on Linux using Java使用 Java 在 Linux 上查找给定文件的根目录
【发布时间】:2018-09-15 11:06:01
【问题描述】:

我正在尝试根据specifications.freedesktop.org/trash-spec 在 Linux 上实现垃圾支持。它指出

它也可以选择在某些或所有已安装资源的“顶级目录”中提供垃圾处理。这种垃圾处理以两种方式完成,如下所述 (1) 和 (2)。

(1) 管理员可以创建 $topdir/.Trash 目录。此目录的权限应允许所有可以丢弃文件的用户在其中写入。如果文件系统支持,必须设置权限中的“sticky bit”。

当从非主分区/device4 删除文件时,实现(如果它支持在顶级目录中删除)必须检查 $topdir/.Trash 是否存在。

如果我理解正确,我需要找到$topdir,根据我的理解,它是挂载文件系统/分区的根。

使用

FileStore store = FileSystems.getDefault().getFileStores();

我可以得到所有似乎是挂载点的FileStore,但我没有看到一种可靠的方式来获取挂载点为FilePath 或字符串。

如何从(普通)Java 中找出挂载点?

【问题讨论】:

    标签: java linux filesystems


    【解决方案1】:

    根据您提供的链接,这是$topdir的确切描述

    顶级目录,$topdir — 文件系统安装的目录。 “/”是根文件系统的顶层目录,但不是其他挂载文件系统的顶层目录。例如,单独的文件系统可能安装在“/home”、“/media/flash”等。在本文中,名称“$topdir”用于“任何顶级目录”。

    question 的答案建议了获取安装信息的方法,尽管我认为它相当迂回。希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-06
      • 2016-08-25
      • 1970-01-01
      • 1970-01-01
      • 2021-08-06
      • 1970-01-01
      • 2014-03-03
      • 2019-02-24
      相关资源
      最近更新 更多