如何定义UNIX权限常量(读取,写入,执行)
-
22-12-2019 - |
题
我想定义这些常量和|它们对于不同的操作来生成正确的权限。
将它们定义为:
public static final int READ = 4;
public static final int WRITE = 2;
public static final int EXECUTE = 1;
.
给我正确的结果如预期,如阅读|写|执行或写作执行。
将它们定义为
public static final int READ = 0x4;
public static final int WRITE = 0x2;
public static final int EXECUTE = 0x1;
.
给我任何好处?
解决方案
由于它们相当于十六进制或十进制,因此仅在其他开发人员的可读性方面增加。它在功能上相同。
虽然,如果您正在为可读性进行,但八大数将更好地给出底层系统:
public static final int READ = 04;
public static final int WRITE = 02;
public static final int EXECUTE = 01;
.
甚至更明显:
public static final int READ = 1<<2;
public static final int WRITE = 1<<1;
public static final int EXECUTE = 1;
.
但这可能过度:)
不隶属于 StackOverflow