Java如何设置文件属性的值?
此代码段显示了有关如何设置文件属性值的示例。在这里,我们将设置DosFileAttributes。要设置文件属性的值,我们使用的Files.setAttributes()方法。要设置DosFileAttributes,我们可以使用下面的属性:"dos:archive","dos:hidden","dos:readonly"和"dos:system"。
有关详细信息,请看下面的代码片段:
package org.nhooo.example.io; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.attribute.DosFileAttributes; public class UpdateDosFileAttributesExample { public static void main(String[] args) throws Exception { String path = "D:/resources/data.txt"; Path file = Paths.get(path); //获取当前的Dos文件属性并打印。 DosFileAttributes attr = Files.readAttributes(file, DosFileAttributes.class); printAttributes(attr); //设置一个新的文件属性。 Files.setAttribute(file, "dos:archive", false); Files.setAttribute(file, "dos:hidden", false); Files.setAttribute(file, "dos:readonly", false); Files.setAttribute(file, "dos:system", false); //读取并设置新设置的文件属性。 attr = Files.readAttributes(file, DosFileAttributes.class); printAttributes(attr); } /** * Print the DosFileAttributes information. * * @param attr DosFileAttributes. */ private static void printAttributes(DosFileAttributes attr) { System.out.println("isArchive() = " + attr.isArchive()); System.out.println("isHidden() = " + attr.isHidden()); System.out.println("isReadOnly() = " + attr.isReadOnly()); System.out.println("isSystem() = " + attr.isSystem()); System.out.println("----------------------------------------"); } }
代码段的输出:
isArchive() = true isHidden() = true isReadOnly() = true isSystem() = true ---------------------------------------- isArchive() = false isHidden() = false isReadOnly() = false isSystem() = false ----------------------------------------