我想在不解析ls -l的情况下获得linux文件权限。因为我将使用RootTools,所以我看到它有一个Permissions类,但是我应该如何将文件的权限数据获取到该对象中呢?
发布于 2013-02-18 00:32:54
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");发布于 2016-11-01 23:21:14
如果您不能修改源代码,请使用反射:
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;
}https://stackoverflow.com/questions/14910148
复制相似问题