Как скопировать файл в файловую систему? - PullRequest
1 голос
/ 11 февраля 2010

Хотелось бы узнать, как лучше всего скопировать файл в файловой системе? (Android-функция Java)

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

Есть ли где-нибудь пример?

Привет

Ответы [ 4 ]

2 голосов
/ 12 февраля 2010
1 голос
/ 11 февраля 2010

Полагаю, это зависит от того, что вы подразумеваете под лучшим способом копирования файла.

Поскольку файл находится на SD-карте, вы можете использовать обычный пакет java.io для чтения и записи файла на новом месте, согласно ответу Эриха.

Другой вариант - доступ к оболочке , который я не знаю, будет ли он работать, но который может быть более эффективным, поскольку он использует команду cp базовой системы.

В этом случае я предполагаю, что команды будут содержать только что-то вроде "cp /sdcard/video/test.3gp /sdcard/video_bis/test2.3gp".

Даже если это сработает, я ожидаю, что это может перестать работать, поскольку это действительно похоже на проблему безопасности ..

1 голос
/ 11 февраля 2010

Вы можете скопировать файл, используя стандартные потоки ввода / вывода Java - ничего особенного вам не нужно делать. Вот пример при копировании файла. Возможно, вы захотите изменить пример, чтобы он копировал более 1 байта за раз:)

0 голосов
/ 11 февраля 2010

Вы можете использовать

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
}

Работает на эмуляторе, вы должны проверить, работает ли он на вашем телефоне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...