如何在文件系统中复制文件?

时间:2010-02-11 18:14:35

标签: android

我想知道在文件系统中复制文件的最佳方法吗? (android java函数)

(sdcard / video / test.3gp -----> sdcard / video_bis / test2.3gp)

某处有例子吗?

此致

4 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

您可以使用标准Java I / O流复制文件 - 您无需做任何特殊操作。这是复制文件的example。您可能希望更改示例,以便一次复制超过1个字节,但是:)

答案 2 :(得分:1)

我想这取决于您通过复制文件的最佳方式的含义。

由于文件位于SD卡上,因此您可以使用普通的java.io-package在新位置读取和写入文件,这符合Erich的回答。

另一个选项是accessing the shell,我不知道它是否可行,但可能更高效,因为它使用底层系统的cp命令。

在这种情况下,我假设命令只包含类似的东西 "cp /sdcard/video/test.3gp /sdcard/video_bis/test2.3gp"

即使这确实有效,我希望这可能会停止工作,因为它看起来确实是一个安全问题..

答案 3 :(得分:0)

您可以使用

private static final String[] COMMAND = { "dd", "if=/sdcard/video/test.3gp", "of=/sdcard/video_bis/test2.3gp", "bs=1024" };

// ...

try {
    final Process pr = Runtime.getRuntime().exec(COMMAND);
    final int retval = pr.waitFor();
    if ( retval != 0 ) {
        System.err.println("Error:" + retval);
    }
}
catch (Exception e) {
    // TODO: handle exception
}

在模拟器上运行,您应该检查它是否适用于您的手机。