从我的Apps私人目录中获取所有序列化文件的名称

时间:2014-03-25 11:34:22

标签: android

我使用当前时间作为文件名保存序列化对象。

代码如下(从此代码中排除异常处理):

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();
}

因此,每次调用此方法时,它都会创建一个带有当前时间戳的新文件。 现在为了取消序列化,我需要知道存储在我的应用程序的外部存储目录中的文件名。

如何检索所有存储文件的名称?

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

File list[] = getExternalFilesDir(null).listFiles(new FileFilter() {

    @Override
        public boolean accept(File pathname) {
            return pathname.isFile();
            }
        });

列表将是存储在应用程序目录中的所有文件的列表。