Blankj / Blankj/AndroidUtilCode

FileUtils.moveDir();只能移动文件夹里的文件到目标文件夹,但是源文件夹本身没有移动。

Đang mở
#1,383 0 bình luận 0 reaction 1 người được giao Được @Blankj nhận Xem trên GitHub
bug
Ngôn ngữ chính
Java
Star
33.6k
Fork
10.6k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

## 描述 Bug

FileUtils.moveDir();只能移动文件夹里的文件到目标文件夹,源文件夹本身没有移动。
源文件夹只是被删掉了,感觉这样并不符合语义啊。 这样叫FileUtils.moveFilesInDir();会不会更好。

- AndroidUtilCode 的版本:utilcode:1.30.5
- 出现 Bug 的设备型号:所有
- 设备的 Android 版本:所有

## 相关代码
private static boolean copyOrMoveDir(final File srcDir,
final File destDir,
final OnReplaceListener listener,
final boolean isMove) {
if (srcDir == null || destDir == null) return false;
// destDir's path locate in srcDir's path then return false
String srcPath = srcDir.getPath() + File.separator;
String destPath = destDir.getPath() + File.separator;
if (destPath.contains(srcPath)) return false;
if (!srcDir.exists() || !srcDir.isDirectory()) return false;

if (!createOrExistsDir(destDir)) return false; //****感觉这里的参数换成destDir.getPath + "/" + srcDir.getName()会更好*****

File[] files = srcDir.listFiles();
if (files != null && files.length > 0) {
for (File file : files) {
File oneDestFile = new File(destPath + file.getName());
if (file.isFile()) {
if (!copyOrMoveFile(file, oneDestFile, listener, isMove)) return false;
} else if (file.isDirectory()) {
if (!copyOrMoveDir(file, oneDestFile, listener, isMove)) return false;
}
}
}
return !isMove || deleteDir(srcDir);
}

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.