如何写入和读取具有自定义扩展名的文本文件?

How to write and Read a text file with custom extension?

在我的应用程序中,我正在创建一个文件并使用 SAF 向其中写入一些数据。我要求用户输入名称,然后将一些数据保存到文件中。同样,我让用户从存储中选择文件并从中读取一些数据。我想用我的自定义文件扩展名“.xyz”来做到这一点。

我发现了多个带有 intent-filters 的来源,但我对 intent-filters 的了解是它们可以帮助您使用某些应用程序打开文件。单击文件时,我不想打开我的应用程序。我只想从应用程序中 access/read 文件。

目前我可以使用 .xyz 扩展名保存文件。但无法阅读它。我在 intent-filter

中添加了以下代码

<data android:host="*" android:scheme="file" android:mimeType="text/plain" android:pathPattern=".*\.xyz"/>

这是我阅读文件的方式:

Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("text/*");
startActivityForResult(intent, READ_REQUEST_CODE);

当文件资源管理器打开以选择要阅读的文件时,目标扩展名 .xyz 文件变得模糊。

text/* 替换为 */*

Android 对自定义文件扩展名的处理很少,就像 Web 对自定义文件扩展名的处理很少一样。特别是,由于 Android 没有自定义文件扩展名的 MIME 类型,因此 text/* 不会匹配它。