我使用当前时间作为文件名保存序列化对象。
代码如下(从此代码中排除异常处理):
public void saveObject() {
MyObject myobj= new MyObject(name, num);
String date = new SimpleDateFormat("yyyy-MM-dd-hh-mm-ss").format(new Date());
String fileName = name + date;
if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
Toast.makeText(this, "No SD card detected.Unable to Save",
Toast.LENGTH_SHORT).show();
return;
}
File file = new File(getExternalFilesDir(null), fileName);
fos = new FileOutputStream(file);
out = new ObjectOutputStream(fos);
out.writeObject(myobj);
out.close();
}
因此,每次调用此方法时,它都会创建一个带有当前时间戳的新文件。 现在为了取消序列化,我需要知道存储在我的应用程序的外部存储目录中的文件名。
如何检索所有存储文件的名称?
答案 0 :(得分:1)
您可以执行以下操作:
File list[] = getExternalFilesDir(null).listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.isFile();
}
});
列表将是存储在应用程序目录中的所有文件的列表。