add custom attribute or metadata to file java
13,213
If your file system supports user-defined (aka extended) attributes, then the way to set one would be like this:
Files.setAttribute(path, "user:encryption used", "testtesttest");
As the javadoc for setAttribute
explains, the 2nd argument takes the form of an optional view-name and an attribute name. In this case, you need to use the UserDefinedFileAttributeView
whose view-name is "user".
Note that different file system types support different attribute views, and your file system may not support this one.
Author by
user1008531
Updated on June 23, 2022Comments
-
user1008531 almost 2 years
I have files that need an extra attribute called "encryption used". But this gives "IllegalArgumentExeption". I know why it gives that error, "encryption used" isn't known as an attribute, but is there a way I can force it to be? Or add custom metadata to the file?
Path path = new File("/propertyfiles/encdec.properties").toPath(); try{ Files.setAttribute(path, "encryption used", "testtesttest"); }catch(IOException e){ System.out.println(e.getMessage()); } try{ System.out.println(Files.getAttribute(path, "encryption used")); }catch(IOException e){ System.out.println(e.getMessage()); }