当前位置: 首页 > 面试题库 >

用Java走Linux / Unix文件系统?

曾苗宣
2023-03-14
问题内容

我需要创建一个Java util,它将通过Unix(和/或Linux)文件系统递归,并建立目录结构的对象模型,检索文件信息-大小,创建日期,上次访问日期等-
以及我需要在文件所在的物理存储设备上检索信息。理想情况下,该实用程序将是可移植的。我没有Java标准库的经验,只有Unix OS的经验有限。

是否有可以处理Unix文件系统的Java标准库?还是我必须通过某些API进行本机调用,然后担心可移植性?我有什么选择?


问题答案:

特别查看Apache Commons
IO
和FileUtils.iterator()。这样您就可以浏览文件系统。主要由于潜在的内存问题,使用迭代器比构建大量候选文件要好。

如果您需要对符号链接的特定访问权限,那么这可能还不够,您可能想要查看JDK 7的早期版本。我知道Java
7的文件系统将具有一些围绕符号链接的功能。

注意:许多Unix文件系统都会给您ctime,这是 inode 创建日期,而不是文件创建日期。



 类似资料:
  • 主要内容:UNIX 的坎坷历史,Linux 的那些往事,UNIX与Linux的亲密关系,UNIX/Linux系统结构UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,可以说 UNIX 是操作系统中的"老大哥",后来的 Windows 和 Linux 都参考了 UNIX。 现代的 Windows 系统已经朝着“图形界面

  • 本节说明了如何通过现有的 Unix 或 Linux 系统来安装 Debian GNU/Linux,而非使用 本手册后面要谈到的基于 ncurses、由菜单驱动的安装软件。这篇“交叉安装(cross-install)” 指南是应用户的要求而撰写的。他们原来是 Redhat、Mandrake 和 SUSE 的用户, 现转而使用 Debian GNU/Linux。在本节中,我们假设您对于输入 *nix

  • 本节说明了如何通过现有的 Unix 或 Linux 系统来安装 Debian GNU/Linux,而非使用 本手册后面要谈到的基于 ncurses,由菜单驱动的安装软件。这篇“交叉安装(cross-install)” HOWTO 是应用户的要求而撰写的。他们原来是 Redhat、Mandrake 和 SUSE 的用户, 现转而使用 Debian GNU/Linux。在本节中,我们假设您对于输入 *

  • 本节说明了如何通过现有的 Unix 或 Linux 系统来安装 Debian GNU/Linux,而非使用 本手册后面要谈到的基于 ncurses,由菜单驱动的安装软件。这篇“交叉安装(cross-install)” HOWTO 是应用户的要求而撰写的。他们原来是 Redhat、Mandrake 和 SUSE 的用户, 现转而使用 Debian GNU/Linux。在本节中,我们假设您对于输入 *

  • 问题内容: 确实有两个问题: 是否有关于配置文件放置位置的标准/约定? 对于系统程序或准系统程序,它们似乎通常位于中。对于普通的应用程序或特权不足的程序,似乎不太清楚。 在处理程序选项时,有优先的标准层次结构吗?例如,命令行选项是否覆盖初始化文件和/或环境变量?反之亦然?还是这完全取决于开发人员? 问题答案: 通常,系统/全局配置存储在/ etc下的某个位置。 用户特定的配置存储在用户的主目录中,

  • 主要内容:得到NTFS文件系统模块后,手工安装,利用 NTFS-3G 插件安装 NTFS 文件系统模块在 CentOS 6.x 中,默认 NTFS 文件系统是没有安装的,也就是说在 CentOS 6.x 中是不能直接挂载 NTFS 分区的。但是目前 Windows 的分区绝大多数是 NTFS 分区,这就需要在 CentOS 6.x 中安装 NTFS 文件系统的模块之后,才能使用 NTFS 分区。 安装 NTFS 文件系统模块的方法有三种: 第一种方法是完整地重新编译内核,然后在内核中选择 NTF