小编Ton*_*her的帖子

Android-获取从文件资源管理器中选择的.txt文件的真实路径

我正在开发一个应用程序,我希望能够在该应用程序的.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);
    }
});
Run Code Online (Sandbox Code Playgroud)

这看起来像在工作。

但是我的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"); …
Run Code Online (Sandbox Code Playgroud)

java android file path android-activity

5
推荐指数
1
解决办法
3864
查看次数

标签 统计

android ×1

android-activity ×1

file ×1

java ×1

path ×1