是否有一种在Java应用程序中创建临时目录的标准且可靠的方法?Java的问题数据库中有一个条目,在评论中有一些代码,但我想知道是否有一个标准的解决方案可以在其中一个常见的库(Apache Commons等)中找到?
我正在编写一些软件(在C++中,用于Linux/Mac OSX),它作为非特权用户运行,但在某些时候需要root权限(以创建新的虚拟设备).
以root身份运行此程序不是一个选项(主要用于安全问题),我需要知道"真实"用户的身份(uid).
有没有办法模仿"sudo"命令行为(请求用户密码)暂时获得root权限并执行特定任务?如果是这样,我会使用哪些功能?
非常感谢您的帮助 !
我需要使用Preferences API的systemRoot功能,但是如果启用了UAC,则由于Windows上缺少权限而失败.我正在尝试查找弹出UAC提示的技术细节,并提升我的权限以允许systemRoot更新成功.
以下代码片段计算目录中的文件数:
Path path = ...;
....
long count = 0;
try {
count = Files.walk(path).parallel().filter(p -> !Files.isDirectory(p)).count();
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
Run Code Online (Sandbox Code Playgroud)
如果抛出异常,上面的代码无法获取文件数.
问题是:如何忽略异常并继续计算文件数.
在Java 7中:我使用Files.walkFileTree(path, utils)了以下类:
public class Utils extends SimpleFileVisitor<Path> {
private long count;
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
if (attrs.isRegularFile()) {
count++;
}
return CONTINUE;
}
@Override
public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {
System.err.println(file.getFileName());
return CONTINUE;
}
public long countFilesInDirectoryJava7() {
return count;
} …Run Code Online (Sandbox Code Playgroud) 如何调用身份验证窗口,从类中为当前应用程序授予 root 一段时间的访问权限。例如,我正在编写一些应用程序来处理分区,因此它需要 root 权限才能执行某些操作。