获取指定路径下的所有文件(夹)名
@ApiOperation("按文件路径获取文件名")
@PostMapping(value = "/file/filenames")
public Result getFileNames(@RequestBody FilePathReq filePath) {
String filepath = filePath.getFilePath();
if (CommonUtil.isEmpty(filepath)) {
log.info("请求参数为空!");
return Result.ok(new ArrayList<>());
}
File file = new File(filepath);
if (!file.exists()) {
return Result.ok(new ArrayList<>());
}
List<String> filenames = new ArrayList<>();
if (!file.isDirectory()) {
String filename = file.getName();
filenames.add(filename);
return Result.ok(filenames);
}
String[] filenamesArray = file.list();
if (CommonUtil.isEmpty(filenamesArray)) {
return Result.ok(new ArrayList<>());
}
Collections.addAll(filenames, filenamesArray);
return Result.ok(filenames);
}
文件是否存在,不存在创建
File file = new File( uploadFolder + originalFilename);
if (!file.exists()) { // 文件不存在,创建(今日第一次定时任务执行,上传文件)
log.info(getClassName() + ",当前暂无文件(no file),创建!");
FileUtils.forceMkdirParent(file);
}
获取系统盘符
/**
* 获取Windows操作系统盘符
*
* @return
*/
private static List<String> getSystemDisks() {
if (!FileUtils.isWindows()) {
throw new RuntimeException("暂不支持非Windows系统, 功能正在开发中!");
}
File[] files = File.listRoots();
List<String> disks = new ArrayList<>();
for (int i = 0; i < files.length; i++) {
disks.add(files[i].getPath());
}
return disks;
}