我有一些應用程序特定的文件,這些文件存儲在內部存儲器的目錄中。我希望用戶能夠通過對話框重命名這些文件。我正在使用以下代碼重命名用戶選定的文件:在Android內存中的目錄中重命名文件?
final File dir = context.getDir(UtilityFuctions.USER_LISTS,
Context.MODE_PRIVATE);
final File myFile = new File(dir, filename);
AlertDialog.Builder fileDialog = new AlertDialog.Builder(context);
fileDialog.setTitle("Rename file");
// Set an EditText view to get user input
final EditText input = new EditText(context);
input.setText(filename);
fileDialog.setView(input);
fileDialog.setPositiveButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String fileName = input.getText().toString();
myFile.renameTo(new File(dir,filename));
UtilityFuctions.createToast(context, "file rename successfully", 0);
}
}
});
fileDialog.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Canceled.
dialog.dismiss();
}
});
fileDialog.create();
fileDialog.show();
但是上面的代碼不工作,文件沒有得到新的名稱。我想renameTo不會爲此工作,它只會用於externalmemory。我有一個解決方案,我可以用新名稱創建一個現有文件的副本,並刪除舊文件,但這會消耗資源,我不想這樣做。請幫助我,如果我做錯了什麼事情..
只是一個猜測;沒有實驗證據呢。如何運行一個Linux命令,「mv oldfullpath newfullpath」? –
我沒有得到你.....我想在java(Android)中執行此操作 – Anshul
沒錯,我的意思是 - 但沒有親自嘗試 - 從Android應用程序運行Linux命令,如下所示:http:/ /stackoverflow.com/questions/3350283/any-way-to-run-shell-commands-on-android-programmatically。 –