【问题标题】:Check if a file is a system / OS file?检查文件是否是系统/操作系统文件?
【发布时间】:2012-08-16 15:00:10
【问题描述】:

Java 中,有没有办法检查给定的 File 对象是否是受保护的系统文件?

我希望被归类为受保护的 File 对象的一些示例:

窗户

C:\WINDOWS\
C:\WINDOWS\explorer.exe

其他

~/Library/
/Library/
/var/
/sys/
/bin/

etc...

【问题讨论】:

    标签: java file file-io operating-system


    【解决方案1】:

    什么是系统文件是高度依赖系统的。 Windows 资源管理器有一个系统目录的概念,它试图对用户隐藏。在 Linux/Unix 上,您可以查看谁拥有这些目录。

    一般来说,您不需要知道这一点,因为文件权限控制着您是否可以读/写/执行文件。

    您将如何使用这些信息,而权限不会为您服务?

    【讨论】:

    • 嗨,Pete,我正在创建一个备份解决方案,我想在其中自动将文件从用户的硬盘复制到其他位置。如果我们要走所有权路线,我需要能够复制任何不属于操作系统本身(根)的文件。这将包括属于其他用户的文件。
    • @Redandwhite 要可靠地做到这一点,您需要成为 root。您可能需要备份系统文件,例如 passwd、shadow 和 fstab。如果您假设您将从 CD/DVD 恢复该软件,那么您唯一可以避免的就是备份该软件。最好的方法是从干净的系统中获取完整的列表,并使用它来构建要忽略的目录或文件列表。
    • 我认为恢复过程是最重要的。我认为避免恢复主机上已经存在的文件是有意义的。你认为这是一个明智的选择吗?
    猜你喜欢
    • 2016-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 2013-12-05
    相关资源
    最近更新 更多