public static String toString(DosFileAttributes dosFileAttributes) { StringBuilder sb = new StringBuilder(); sb.append(dosFileAttributes.isReadOnly() ? "r" : "-"); sb.append(dosFileAttributes.isHidden() ? "h" : "-"); sb.append(dosFileAttributes.isArchive() ? "a" : "-"); sb.append(dosFileAttributes.isSystem() ? "s" : "-"); return sb.toString(); }
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); }
Files.setAttribute(filePath, "dos:readonly", dosAttrs.isReadOnly()); Files.setAttribute(filePath, "dos:hidden", dosAttrs.isHidden()); Files.setAttribute(filePath, "dos:archive", dosAttrs.isArchive()); Files.setAttribute(filePath, "dos:system", dosAttrs.isSystem());
assertTrue(dosAttrsRHAS.isReadOnly()); assertTrue(dosAttrsRHAS.isHidden()); assertTrue(dosAttrsRHAS.isArchive()); assertTrue(dosAttrsRHAS.isSystem()); assertTrue(dosAttrsRHA.isReadOnly()); assertTrue(dosAttrsRHA.isHidden()); assertTrue(dosAttrsRHA.isArchive()); assertFalse(dosAttrsRHA.isSystem()); assertTrue(dosAttrsRH.isReadOnly()); assertTrue(dosAttrsRH.isHidden()); assertFalse(dosAttrsRH.isArchive()); assertFalse(dosAttrsRH.isSystem()); assertTrue(dosAttrsR.isReadOnly()); assertFalse(dosAttrsR.isHidden()); assertFalse(dosAttrsR.isArchive()); assertFalse(dosAttrsR.isSystem()); assertFalse(dosAttrsNone.isReadOnly()); assertFalse(dosAttrsNone.isHidden()); assertFalse(dosAttrsNone.isArchive()); assertFalse(dosAttrsNone.isSystem()); assertFalse(dosAttrsH.isReadOnly()); assertTrue(dosAttrsH.isHidden()); assertFalse(dosAttrsH.isArchive()); assertFalse(dosAttrsH.isSystem());
@Override public Object readAttribute(AttributeReadContext context) throws IOException { return context.getDosFileAttributes().isArchive(); }
// import as necessary from java.nio.file and java.io DosFileAttributeView view = input.getFileAttributeView(DosFileAttributeView.class); //Check if the system supports this view if (view != null) { DosFileAttributes attributes = view.readAttributes(); // skip any file already marked as an archive if (!attributes.isArchive()) { myObject.process(input) attributes.setArchive(true) } }
linkedHashMap.put("Is Regular File?", dosFileAttr.isRegularFile() ? "True" : "False"); linkedHashMap.put("Is Symbolic Link?", dosFileAttr.isSymbolicLink() ? "True" : "False"); linkedHashMap.put("Is Archive?", dosFileAttr.isArchive() ? "True" : "False"); linkedHashMap.put("Is Hidden File?", dosFileAttr.isHidden() ? "True" : "False"); linkedHashMap.put("Is ReadOnly?", dosFileAttr.isReadOnly() ? "True" : "False");
DosFileAttributes dosAttributes = Files.readAttributes(target, DosFileAttributes.class, linkOptions); DosFileAttributeView dosView = Files.getFileAttributeView(target, DosFileAttributeView.class, linkOptions); dosView.setArchive(dosAttributes.isArchive()); dosView.setHidden(dosAttributes.isHidden()); dosView.setSystem(dosAttributes.isSystem());
info.setLastModified(attrs.lastModifiedTime().toMillis()); info.setLength(attrs.size()); info.setAttribute(EFS.ATTRIBUTE_ARCHIVE, attrs.isArchive()); info.setAttribute(EFS.ATTRIBUTE_READ_ONLY, attrs.isReadOnly()); info.setAttribute(EFS.ATTRIBUTE_HIDDEN, attrs.isHidden());
info.setLastModified(attrs.lastModifiedTime().toMillis()); info.setLength(attrs.size()); info.setAttribute(EFS.ATTRIBUTE_ARCHIVE, attrs.isArchive()); info.setAttribute(EFS.ATTRIBUTE_READ_ONLY, attrs.isReadOnly()); info.setAttribute(EFS.ATTRIBUTE_HIDDEN, attrs.isHidden());
info.setLastModified(attrs.lastModifiedTime().toMillis()); info.setLength(attrs.size()); info.setAttribute(EFS.ATTRIBUTE_ARCHIVE, attrs.isArchive()); info.setAttribute(EFS.ATTRIBUTE_READ_ONLY, attrs.isReadOnly()); info.setAttribute(EFS.ATTRIBUTE_HIDDEN, attrs.isHidden());
DosFileAttributes attr = Files.readAttributes(file, DosFileAttributes.class); if (attr.isArchive()) fileAttribute |= FileAttributeFlags.FILE_ATTRIBUTE_ARCHIVE .getValue();
.getFileAttributeView(targetDir, DosFileAttributeView.class); targetDosAttrs.setArchive(sourceDosAttrs.isArchive()); targetDosAttrs.setHidden(sourceDosAttrs.isHidden()); targetDosAttrs.setReadOnly(sourceDosAttrs.isReadOnly());
DosFileAttributeView targetDosAttrs = Files.getFileAttributeView(targetDir, DosFileAttributeView.class); targetDosAttrs.setArchive(sourceDosAttrs.isArchive()); targetDosAttrs.setHidden(sourceDosAttrs.isHidden()); targetDosAttrs.setReadOnly(sourceDosAttrs.isReadOnly());
.getFileAttributeView(targetDir, DosFileAttributeView.class); targetDosAttrs.setArchive(sourceDosAttrs.isArchive()); targetDosAttrs.setHidden(sourceDosAttrs.isHidden()); targetDosAttrs.setReadOnly(sourceDosAttrs.isReadOnly());