在我的应用程序中,我需要录制视频。在开始录制之前,我为其指定名称和目录。录制完成后,用户可以重命名其文件。我写了以下代码,但似乎不起作用。
当用户输入文件名并单击按钮时,我将执行以下操作:
private void setFileName(String text) {
String currentFileName = videoURI.substring(videoURI.lastIndexOf("/"), videoURI.length());
currentFileName = currentFileName.substring(1);
Log.i("Current file name", currentFileName);
File directory = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES), MEDIA_NAME);
File from = new File(directory, "currentFileName");
File to = new File(directory, text.trim() + ".mp4");
from.renameTo(to);
Log.i("Directory is", directory.toString());
Log.i("Default path is", videoURI.toString());
Log.i("From path is", from.toString());
Log.i("To path is", to.toString());
}
文本:是用户输入的名称。
当前文件名:是我在录制前指定的名称
MEDIA_NAME:文件夹名称
Logcat 显示了这一点:
05-03 11:56:37.295: I/Current file name(12866): Mania-Karaoke_20120503_115528.mp4
05-03 11:56:37.295: I/Directory is(12866): /mnt/sdcard/Movies/Mania-Karaoke
05-03 11:56:37.295: I/Default path is(12866): /mnt/sdcard/Movies/Mania-Karaoke/Mania-Karaoke_20120503_115528.mp4
05-03 11:56:37.295: I/From path is(12866): /mnt/sdcard/Movies/Mania-Karaoke/currentFileName
05-03 11:56:37.295: I/To path is(12866): /mnt/sdcard/Movies/Mania-Karaoke/hesam.mp4
任何建议将不胜感激。
在你的代码中:
难道不应该是:
File from = new File(directory, currentFileName);
代替
File from = new File(directory, "currentFileName");
为了安全起见,
使用 File.renameTo() 。但在重命名之前请检查目录是否存在!
File dir = Environment.getExternalStorageDirectory();
if(dir.exists()){
File from = new File(dir,"from.mp4");
File to = new File(dir,"to.mp4");
if(from.exists())
from.renameTo(to);
}
Refer:
http://developer.android.com/reference/java/io/File.html#renameTo%28java.io.File%29 http://developer.android.com/reference/java/io/File.html#renameTo%28java.io.File%29
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)