@Override public File chmod(int chmod, File file) { assertValidChmod(chmod); Set<PosixFilePermission> perms = getPermissions(chmod); try { Files.setPosixFilePermissions(Paths.get(file.getCanonicalPath()), perms); } catch (IOException e) { X_Log.warn(getClass(), "Could not chmod file",file,"with permissions","0x"+Integer.toHexString(chmod), e); X_Debug.maybeRethrow(e); } return file; }
@Override public File createTempDir(String prefix, boolean deleteOnExit) { File f = null; try { f = File.createTempFile(prefix, ""); try { f.delete(); } catch (Exception e) { chmod(0x444, f); f.delete(); } f.mkdirs(); if (deleteOnExit) { GC.toKill.add(f.getCanonicalPath()); } chmod(0x777, f); } catch (IOException e) { X_Log.warn("Unable to create temporary directory for ", prefix, e); X_Debug.maybeRethrow(e); } return f; }
X_Debug.maybeRethrow(e);