使用Java在Windows上隐藏文件/文件夹
我需要在Windows和Linux上隐藏文件和文件夹。我知道在文件或文件夹的前面附加一个“.”会使它在Linux上隐藏。如何在 Windows 上隐藏文件或文件夹?
我需要在Windows和Linux上隐藏文件和文件夹。我知道在文件或文件夹的前面附加一个“.”会使它在Linux上隐藏。如何在 Windows 上隐藏文件或文件夹?
你想要的功能是即将推出的Java 7中NIO.2的一个特性。
下面是一篇描述如何将其用于所需内容的文章:管理元数据(文件和文件存储属性)。有一个 DOS 文件属性的示例:
Path file = ...;
try {
DosFileAttributes attr = Attributes.readDosFileAttributes(file);
System.out.println("isReadOnly is " + attr.isReadOnly());
System.out.println("isHidden is " + attr.isHidden());
System.out.println("isArchive is " + attr.isArchive());
System.out.println("isSystem is " + attr.isSystem());
} catch (IOException x) {
System.err.println("DOS file attributes not supported:" + x);
}
可以使用 DosFileAttributeView 设置属性
考虑到这些事实,我怀疑在Java 6或Java 5中是否有标准而优雅的方法来实现这一目标。
对于 Java 6 及更低版本,
您将需要使用本机调用,这是Windows的一种方法
Runtime.getRuntime().exec("attrib +H myHiddenFile.java");
你应该学习一些关于win32-api或Java Native的知识。