Я бы порекомендовал использовать File.renameTo()
вместо выполнения команды mv
, так как я уверен, что последняя не поддерживается ..
Дали ли вы приложению разрешение на запись на SD-карту ?
Вы делаете это с помощью , добавляя следующее к вашему AndroidManifest.xml
:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Если оно не работает после добавления разрешения, проверьте журнал устройства на наличие ошибок при попытке переименовать файл (либо с помощью команды adb
, либо в представлении logcat в Eclipse).
При доступе к SD-карте вы не должны жестко кодировать путь, а вместо этого использовать метод Environment.getExternalStorageDirectory()
для получения каталога.
У меня работает следующий код:
File sdcard = Environment.getExternalStorageDirectory();
File from = new File(sdcard,"from.txt");
File to = new File(sdcard,"to.txt");
from.renameTo(to);
и если вы хотите проверить процесс, вы можете сделать так:
boolean renamed = from.renameTo(to);
if (renamed) {
Log.d("LOG","File renamed...");
}else {
Log.d("LOG","File not renamed...");
}