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

时间:2019-05-08 11:00:57

标签: android android-file

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

我发现了多个带有意图过滤器的资源,但是我对意图过滤器的了解是,它们可以帮助您使用某些应用程序打开文件。单击文件后,我不想打开我的应用程序。我只想从应用程序内访问/读取文件。

当前可以保存扩展名为.xyz的文件。但无法阅读。我在意图过滤器中添加了以下代码

<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文件变得模糊。

1 个答案:

答案 0 :(得分:1)

text/*替换为*/*

Android对自定义文件扩展名的贡献很小,就像Web对自定义文件扩展名的贡献很小。特别是,由于Android没有针对自定义文件扩展名的MIME类型,因此text/*将与之不匹配。