java - 使用 JAVA 更改目录内所有文件的权限
问题描述
我想编写一段代码,以便将目录中的所有文件设置为可写(非只读)。我的程序是 JAVA 的,它应该可以在 Windows 和 Linux 上运行。到目前为止,我的方法是遍历目录中包含的所有文件,并为每个文件设置可写权限,使用以下方法:
static void makeDosFileWritable(Path pathToFile) {
try {
Files.setAttribute(pathToFile.toAbsolutePath(), "dos:readonly", false);
//logs
} catch (IOException e) {
//logs
}
}
static void makeUnixFileWritable(Path pathToFile) {
try {
Set<PosixFilePermission> ownerWritable = PosixFilePermissions.fromString("rw-rw-rw-");
Files.setPosixFilePermissions(pathToFile, ownerWritable);
//logs
} catch (IOException e) {
//logs
}
}
这工作正常。问题是,在顶层目录中,我也可以有嵌套目录。我想知道如何处理这个问题。
- 我应该递归遍历每个(子)目录并更改每个文件的权限吗?
- 或者,有没有办法以编程方式(JAVA)仅在顶级目录级别更改权限,并且该设置自动应用于目录及其子目录中包含的所有文件?
解决方案
推荐阅读
- elasticsearch - Elasticsearch 问题类型删除
- javascript - 如何在 datepicker 中使用 mm-yy 格式?
- r - violin_plot() 具有用于分组变量的连续轴?
- python - 扩展冻结数据类并从基类实例中获取所有数据
- c# - 如何调用这个函数devtools selenium c#
- windows - 使用 Visual Basic 脚本和批处理将 Java 作为 Windows 服务
- r - 使用 ggplot2 在 X 轴上使用日期时间时如何在绘图内部进行注释?
- ios - Swift 包中等效的 CocoaPods $PODS_ROOT 环境变量
- javascript - 如何在 Angular 高阶组件 (HOC) 中将 html 元素作为子元素传递?
- javascript - 仅在页面加载后在脚本中运行 JS