ls-lを解析せずにLinuxファイルのパーミッションを取得したい。RootToolsを使用するので、Permissionsクラスがあることがわかりますが、ファイルのアクセス許可データをそのオブジェクトに取得するにはどうすればよいですか?
質問する
410 次
2 に答える
1
ソースを変更できない場合は、リフレクションを使用します。
private Permissions RootToolsInternalMethods_getPermissions(String line)
{
try
{
RootTools rootTools = new RootTools();
Method method = rootTools.getClass().getDeclaredMethod("getInternals");
method.setAccessible(true);
RootToolsInternalMethods rootToolsInternalMethods = (RootToolsInternalMethods)method.invoke(rootTools);
return rootToolsInternalMethods.getPermissions(line);
}
catch (Exception ignore) {}
return null;
}
于 2016-11-01T15:21:14.040 に答える
0
RootToolsInternalMethodsにはgetPermissions(String)メソッドがありますが、これらにはRootToolsクラスでのみアクセスできます。
RootToolsソースから
private static final RootToolsInternalMethods getInternals() {
if (rim == null) {
RootToolsInternalMethods.getInstance();
return rim;
} else {
return rim;
}
}
RootToolsソースを変更し、ls-l出力からアクセス許可を取得する必要があるようです
getInternals().getPermissions("ls -l output line");
于 2013-02-17T16:32:54.150 に答える