From d44a7921df0741440c0a0ed0364bade2b6a3381d Mon Sep 17 00:00:00 2001 From: hyb1996 <946994919@qq.com> Date: Sun, 30 Jul 2017 16:15:11 +0800 Subject: [PATCH] add: rename() in files module --- .../main/assets/help/documentation/文件读写.md | 6 ++++-- .../script/SharedPrefScriptFileList.java | 2 +- .../src/main/java/com/stardust/pio/PFile.java | 18 +++++++++++++++++- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/app/src/main/assets/help/documentation/文件读写.md b/app/src/main/assets/help/documentation/文件读写.md index e26e0a38..9ee50b29 100644 --- a/app/src/main/assets/help/documentation/文件读写.md +++ b/app/src/main/assets/help/documentation/文件读写.md @@ -81,14 +81,16 @@ 复制文件。例如`files.copy("/sdcard/1.txt", "/sdcard/Download/1.txt")`。 +### files.move(fromPath, toPath) + +移动文件,返回是否移动成功。例如`files.rename("/sdcard/1.txt", "/sdcard/Download/1.txt")`会把1.txt文件从sd卡根目录移动到Download文件夹。 + ### files.rename(path, newName) * path \ 要重命名的原文件路径 * newName \ 要重命名的新文件名 重命名文件,并返回是否重命名成功。例如`files.rename("/sdcard/1.txt", "2.txt")`。 -也可以用作文件移动,例如`files.rename("/sdcard/1.txt", "/sdcard/Download/1.txt")`会把1.txt文件从sd卡根目录移动到Download文件夹。 - ### files.renameWithoutExtension(path, newName) * path \ 要重命名的原文件路径 * newName \ 要重命名的新文件名 diff --git a/app/src/main/java/com/stardust/scriptdroid/script/SharedPrefScriptFileList.java b/app/src/main/java/com/stardust/scriptdroid/script/SharedPrefScriptFileList.java index 97232d93..7815ff57 100644 --- a/app/src/main/java/com/stardust/scriptdroid/script/SharedPrefScriptFileList.java +++ b/app/src/main/java/com/stardust/scriptdroid/script/SharedPrefScriptFileList.java @@ -78,7 +78,7 @@ public class SharedPrefScriptFileList extends ScriptFileList { public void rename(int position, String newName, boolean renameFile) { mScriptName.set(position, newName); if (renameFile) { - String newPath = PFile.renameWithoutExtension(mScriptPath.get(position), newName); + String newPath = PFile.renameWithoutExtensionAndReturnNewPath(mScriptPath.get(position), newName); mScriptPath.set(position, newPath); } syncWithSharedPref(); diff --git a/common/src/main/java/com/stardust/pio/PFile.java b/common/src/main/java/com/stardust/pio/PFile.java index e1617dd2..af85b005 100644 --- a/common/src/main/java/com/stardust/pio/PFile.java +++ b/common/src/main/java/com/stardust/pio/PFile.java @@ -215,13 +215,29 @@ public class PFile { } } - public static String renameWithoutExtension(String path, String newName) { + public static String renameWithoutExtensionAndReturnNewPath(String path, String newName) { File file = new File(path); File newFile = new File(file.getParent(), newName + "." + getExtension(file.getName())); file.renameTo(newFile); return newFile.getAbsolutePath(); } + public static boolean renameWithoutExtension(String path, String newName) { + File file = new File(path); + File newFile = new File(file.getParent(), newName + "." + getExtension(file.getName())); + return file.renameTo(newFile); + } + + public static boolean rename(String path, String newName) { + File f = new File(path); + return f.renameTo(new File(f.getParent(), newName)); + } + + public static boolean move(String path, String newPath) { + File f = new File(path); + return f.renameTo(new File(newPath)); + } + public static String getExtension(String fileName) { int i = fileName.lastIndexOf('.'); if (i < 0 || i + 1 >= fileName.length() - 1)