> On Mar 6, 2016, at 5:28 AM, Robert Krüger <krue...@lesspain.de> wrote: > > > > On Sat, Mar 5, 2016 at 3:23 PM, Michael Hall <mik3h...@gmail.com > <mailto:mik3h...@gmail.com>> wrote: >> On Mar 5, 2016, at 7:15 AM, Robert Krüger <krue...@lesspain.de >> <mailto:krue...@lesspain.de>> wrote: >> >> > > This…, > https://stackoverflow.com/questions/9198184/setting-file-creation-timestamp-in-java > > <https://stackoverflow.com/questions/9198184/setting-file-creation-timestamp-in-java> > seems to suggest that File.setLastModified will accomplish what you wan on OS > Xt. > > No, that's what I started with and it does what it's documented to do.
I’m assuming ‘what it’s documented to do’ means it changes something other than finder creation date/time. Maybe the stack overflow link I posted wasn’t concerned with changing Finder related. These suggest using the ‘touch’ or ‘SetFile’ commands could accomplish this... https://medium.com/@danilosapad/how-to-change-a-file-s-last-modified-and-creation-dates-on-mac-os-x-494f8f76cdf4#.y8qxzwtgg <https://medium.com/@danilosapad/how-to-change-a-file-s-last-modified-and-creation-dates-on-mac-os-x-494f8f76cdf4#.y8qxzwtgg> https://apple.stackexchange.com/questions/99536/changing-creation-date-of-a-file <https://apple.stackexchange.com/questions/99536/changing-creation-date-of-a-file> you could probably runtime exec those from java easily enough. Changing even from native seems like it could be a little tricky for some reason. At least this link suggests it might be... https://stackoverflow.com/questions/6905503/setting-nsfilecreationdate-has-no-effect <https://stackoverflow.com/questions/6905503/setting-nsfilecreationdate-has-no-effect> My trz code does support some cocoa/NSFileManager type attributes… https://github.com/mik3hall/trz/blob/master/src/us/hall/trz/osx/test/MacAttributesTest.java <https://github.com/mik3hall/trz/blob/master/src/us/hall/trz/osx/test/MacAttributesTest.java> shows junit tests of some of the api’s supported. For Cocoa it has this. @Test public void testCocoa() { try { File f = new File("build.xml"); Path p = f.toPath(); Map<String,Object> attrs = Files.readAttributes(p,"mac_cocoa:*"); assertEquals(17,attrs.size()); assertFalse(((Boolean)Files.getAttribute(p,"mac_cocoa:NSFileBusy")).booleanValue()); assertEquals(Files.size(p),((Long)Files.getAttribute(p,"mac_cocoa:NSFileSize")).longValue()); attrs = Files.readAttributes(p,"mac_cocoa:NSFileModificationDate,mac_cocoa:NSFilePosixPermissions"); assertEquals(2,attrs.size()); } catch (IOException ioex) { fail(ioex.toString()); } } Updating may not be supported. But could be added if you or anyone else want to use it. I didn’t want my first feedback on the code to be that someone tried it and something got messed up on their machine. “Hey, I tried your code and it turned all the files orange”. (I think I did include that possibility for FinderInfo though… Files.setAttribute(p, "mac_finder:label", "orange”); it was just kind of fun). This would do all the native for you and allow you to do what you want in the nio.2 way. Assuming I can get it to work. Despite the last stack overflow post it doesn’t seem like it should be all that difficult. Michael Hall