列出 Android 中由 OutputStreamWriter 写入的文件

List files written by OutputStreamWriter in Android

我正在创建一些文本文件并在以下方法中使用时间戳保存它们:

private void writeToFile(String data) {
    try {
        Long tsLong = System.currentTimeMillis() / 1000;
        String fileName = tsLong.toString() + "ds.txt";

        Log.i("FILENAME", fileName);

        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(openFileOutput(fileName, Context.MODE_PRIVATE));
        outputStreamWriter.write(data + "\r\n");
        outputStreamWriter.close();
    }
    catch (IOException e) {
        Log.e("FAILED", "File write failed: " + e.toString());
    }
}

现在为了读取文件,我需要文件名。有什么方法可以生成该存储库中所有文件的列表吗?

正如 njzk2 提到的,您可以通过 getFilesDir() 方法获取保存文件的目录。

示例代码:

for(File file : getFilesDir().listFiles()){
    // Open file and read the content
}

如果您的意思是存储库是 Android 设备上的一个文件夹,那么您需要这段代码

File path = new File(mCurrentPath);
File[] dirs = path.listFiles();
List<String> files = new ArrayList<String>();
if (dirs != null) {
    Arrays.sort(dirs);
    for (File fentry : dirs) {
        if (!fentry.isDirectory()) {
            files.add(fentry.getName());
        }
    }
}