¿Cómo puedo configurar umask desde dentro de java?

Soy nuevo en Java. ¿Dónde está umask expuesto en la api?

No se puede jugar directamente con umask, ya que Java es una abstracción y umask es específico de la implementación de POSIX. Pero tienes la siguiente API:

File f; f.setExecutable(true); f.setReadable(false); f.setWritable(true); 

Hay algunas API más disponibles, verifique los documentos .

Si debe tener acceso directo a umask, hágalo a través de JNI y chmod() syscall, o engendre un nuevo proceso con exec("chmod") .

java.nio.file.attribute.PosixFileAttributes en Java SE 7.

Otro enfoque es usar una biblioteca Java de terceros que expone las llamadas al sistema POSIX; p.ej

  • Jtux
  • La biblioteca “Posix para Java” ,
  • y así sucesivamente (Google para “biblioteca de java posix”).

El problema con este enfoque es que es intrínsecamente no portátil (no funcionará en una plataforma no compatible con POSIX) y requiere una biblioteca nativa específica de la plataforma … y todo lo que eso conlleva.