java-Android-获取从文件资源管理器中选择的.txt文件的真实路径
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-Android-获取从文件资源管理器中选择的.txt文件的真实路径,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2078字,纯文字阅读大概需要3分钟。
内容图文
![java-Android-获取从文件资源管理器中选择的.txt文件的真实路径](/upload/InfoBanner/zyjiaocheng/686/6669057810e241b9867b0dee15603c7a.jpg)
我正在开发一个应用程序,希望能够从该应用程序在.txt文件中导出和导入一些数据.
该应用程序的最低API为21.
导出部分效果很好,但是导入部分遇到了麻烦.
我打开文件资源管理器:
butImportPatient.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_OPEN_DOCUMENT);
intent.setType("*/*");
startActivityForResult(intent, IMPORTPATIENT_ACTIVITY_REQUEST_CODE);
}
});
这看起来像在工作.
但是我的onActivityResult不起作用,我没有找到如何从Uri获取文件.
现在,这是我的代码:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == IMPORTPATIENT_ACTIVITY_REQUEST_CODE && resultCode == RESULT_OK) {
File file = new File(data.getData().getPath()) ;
String path = file.getAbsolutePath() ;
StringBuilder text = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(path));
String line;
while ((line = br.readLine()) != null) {
text.append(line);
text.append("\n");
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
AlertDialog.Builder builder = new AlertDialog.Builder(this) ;
builder.setMessage(path)
.show() ;
}
}
我在这里看到的多个帖子混合在一起,但似乎没有一个起作用.
我得到这条路:
/document/home:List.txt
它创建FileNotFoundException.如何获取文件的真实路径?
解决方法:
I didn’t find how I can get the file from the Uri.
没有文件. ACTION_OPEN_DOCUMENT和ACTION_GET_CONTENT无法打开文件.他们打开一个文件.该文档可能是文件.可能不会.
Uri可能会指出:
>外部存储上的本地文件
>内部存储中另一个应用程序的本地文件
>可移动存储中的本地文件
>已加密且需要即时解密的本地文件
>保留在数据库的BLOB列中的字节流
>内容需要先由其他应用下载
> …等等
How can I get the real path of the file ?
你不知道
如果您只希望接受文件,请集成a file chooser library,而不要使用ACTION_OPEN_DOCUMENT或
ACTION_GET_CONTENT.请记住,Android Q计划取消对外部存储的文件系统访问.
如果使用ACTION_GET_CONTENT,并且您获取的Uri方案是file,则getPath()将是文件系统路径.
否则,您需要了解自己不知道文档来自何处,并停止考虑“文件的真实路径”.使用ContentResolver和openInputStream()将内容复制到您控制的某个文件中,然后使用该文件.
内容总结
以上是互联网集市为您收集整理的java-Android-获取从文件资源管理器中选择的.txt文件的真实路径全部内容,希望文章能够帮你解决java-Android-获取从文件资源管理器中选择的.txt文件的真实路径所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。