我正在制作录音应用程序,我遇到了一个小问题。 我想要保存录制的文件,它工作正常,除了名称有问题。 我有这段代码:
int num = 0;
File FolderCreator = new File(
Environment.getExternalStorageDirectory()
+ "/My Recored Songs/Pads/");
File FileCreator = new File(FolderCreator, "My Record.mp3");
然后
if (FileCreator.exists()) {
num++;
FileCreator = new File(FolderCreator, "My Record "
+ num +".mp3");
}
它有效。但问题是,如果我离开应用程序并再次启动它,它将从1开始计数并覆盖以前的文件。 我怎么能防止这种情况?
答案 0 :(得分:5)
将Date
课程与Time
一起使用。
new File("MyRecord-ddMMyyhhmmss.mp3");
答案 1 :(得分:3)
读取文件夹中现有文件的数量,并将num设置为等于。
int num = 0;
File FolderCreator = new File(Environment.getExternalStorageDirectory() + "/My Recored Songs/Pads/");
...
File[] listOfFiles = FolderCreator.listFiles();
num = listOfFiles.length;
....
答案 2 :(得分:2)
另一种选择是将“num”的值存储到SharedPreferences中,并在保存声音文件时将其递增。
http://developer.android.com/reference/android/content/SharedPreferences.html