重命名中连续的文件夹和文件android

标签: Java Android
发布时间: 2017/3/19 15:57:44
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有一个文件在 location a/b/c.txt。我想要移动到这个文件 location d/e/f.txt。我想要重命名文件夹/目录到 d,b 到 e 和文件 c.txt 到 f.txt。如何 android 吗?

public void moveFile(View view) {
            File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "a" + File.separator + "b" + File.separator + "c.txt");
            if (file.exists()) {
                boolean res = file.renameTo(new File(Environment.getExternalStorageDirectory().getAbsoluteFile() + File.separator + "d" + File.separator + "e" + File.separator + "f.txt"));


                Toast.makeText(MainActivity.this, String.valueOf(res), Toast.LENGTH_SHORT).show();
            }

        }

解决方法 1:

你是在正确的轨道很多当你说"我想要重命名文件夹/目录到 d,b 到 e 和文件 c.txt 到 f.txt."你只需要重命名一个目录在 time 和文件本身分开︰

    String externalStorageDirAbsPath = Environment.getExternalStorageDirectory().getAbsolutePath();
    File file = new File(externalStorageDirAbsPath + File.separator + "a" + File.separator + "b" + File.separator + "c.txt");
    if (file.exists()) {
        // first rename a to d
        boolean res = new File(externalStorageDirAbsPath + File.separator + "a")
                        .renameTo(new File(externalStorageDirAbsPath + File.separator + "d"));
        if (res) {
            // rename b to e
            res = new File(externalStorageDirAbsPath + File.separator + "d" + File.separator + "b")
                    .renameTo(new File(externalStorageDirAbsPath + File.separator + "d" + File.separator + "e"));
            if (res) {
                // rename c.txt to f.txt
                res = new File(externalStorageDirAbsPath + File.separator + "d" + File.separator + "e" + File.separator + "c.txt")
                        .renameTo(new File(externalStorageDirAbsPath + File.separator + "d" + File.separator + "e" + File.separator + "f.txt"));
            }
        }
        Toast.makeText(MainActivity.this, String.valueOf(res), Toast.LENGTH_SHORT).show();
    }

我测试了 Mac OS X 上代码的中央部分。我还没有测试在 Android 。如果在手翻译一个错字回 Android 代码,我希望你能够搞清楚。

而不是 File 类你可能想要看看更新 java.nio.file 包, Path 类可以给你一点方便在这里,但我认为你仍然会重命名一个目录在 time 和文件分开,就像这里。

赞助商