Blankj / Blankj/AndroidUtilCode

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

Aperta
#1,383 0 commenti 0 reazioni 1 assegnatario Rivendicata da @Blankj Vedi su GitHub
bug
Lingua principale
Java
Stelle
33.6k
Fork
10.6k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

## 描述 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);
}

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.