Cómo definir constantes de permisos de UNIX (leer, escribir, ejecutar)
-
22-12-2019 - |
Pregunta
Quiero definir estas constantes y |Para diferentes operaciones para generar permisos correctos.
definirlos como:
public static final int READ = 4;
public static final int WRITE = 2;
public static final int EXECUTE = 1;
me da el resultado correcto como se espera, como leer |Escribe |Ejecutar o escribir |EJECUTAR.
que los define como
public static final int READ = 0x4;
public static final int WRITE = 0x2;
public static final int EXECUTE = 0x1;
¡Dame algún beneficio?
Solución
Dado que son equivalentes en hexagonal o decimal, que solo agrega en términos de legibilidad para otros desarrolladores.Es funcionalmente el mismo.
Aunque, si lo está haciendo por la legibilidad, el octal sería incluso mejor dado el sistema subyacente:
public static final int READ = 04;
public static final int WRITE = 02;
public static final int EXECUTE = 01;
o incluso más obvio:
public static final int READ = 1<<2;
public static final int WRITE = 1<<1;
public static final int EXECUTE = 1;
pero eso podría ser excesivo :)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow