我收到FileNotFoundException但文件在那里

XxGoliathusxX

当我尝试打开通过Intent选择的文件时,出现此错误:

java.io.FileNotFoundException:/document/primary:Android/data/com.oli.myapp/Files/test.xml:打开失败:ENOENT(没有这样的文件或目录)

我不知道为什么会这样。该文件存在是因为我选择了它。这是我的代码:

文件选择:

Intent chooseFileXML = new Intent(Intent.ACTION_GET_CONTENT);
Uri uri = Uri.parse(new Helper(FunctionsActivity.this).getPathToAppFolder());                
chooseFileXML.setDataAndType(uri, "text/xml");
Intent intentXML = Intent.createChooser(chooseFileXML, getString(R.string.importXMLDatei));
startActivityForResult(intentXML, REQUEST_CODE_IMPORT_XML_FILE);

获得它的代码:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
    switch (requestCode){
        case REQUEST_CODE_IMPORT_XML_FILE:
            if(resultCode == RESULT_OK){

                String Fpath = data.getDataString();
                File file = new File(Fpath);
                Intent intent = new Intent(FunctionsActivity.this, CreateActivity.class);
                intent.setAction(Intent.ACTION_DEFAULT);
                intent.setData(Uri.parse(file.toURI().toString()));
                startActivity(intent);


            }
            break;
    }
}

编辑:

Uri uri = data.getData();
DocumentFile documentFile = DocumentFile.fromSingleUri(this, uri);
String type = documentFile.getType();
if(type.equals("text/xml")){
    try {
        InputStream inputStream = getContentResolver().openInputStream(uri);
        if(inputStream == null){
            throw new Exception();
        }
        BufferedReader r = new BufferedReader(new InputStreamReader(inputStream));
        StringBuilder total = new StringBuilder();
        String line;
        while ((line = r.readLine()) != null) {
            total.append(line).append('\n');
        }

        //Could read the file with no problems
        createWithXMLCode(total.toString());

    }catch (Exception e){
        e.printStackTrace();
        //TODO

    }
}else{
    //TODO
}
常用软件

ACTION_GET_CONTENT给你一个Uri用户选择的内容ACTION_GET_CONTENT根本不必是文件,更不用说可以访问了。在这种情况下,您将获得非常普遍Uricontent方案。

使用ContentResolver和方法喜欢使用该方法getInputStream()表示的内容Uri

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我会收到“ -bash:'alias:命令未找到”,但它在那里..?

来自分类Dev

我收到未定义索引的通知,但是索引在那里

来自分类Dev

X.org 配置文件在哪里?我如何在那里配置 X?

来自分类Dev

列在那里,但我收到:SQLite3::SQLException:没有这样的列:requestor.birthyear

来自分类Dev

DeleteFile() 失败但文件在那里(文件名很长)

来自分类Dev

cli 找不到就在那里的文件夹

来自分类Dev

我该如何仅将插入和修改插入文件中而将未修改的行留在那里?

来自分类Dev

Hibernate DTD没有从类路径加载,罐子在那里,仍在获取FileNotFoundException

来自分类Dev

我有一个aspx(vb)网站。当我尝试删除.vb文件(在那里保留.aspx文件)时,总是会出现HttpParseException?

来自分类Dev

Aapt失踪,但在那里

来自分类Dev

jQuery:缩小以居中并留在那里

来自分类Dev

杀死#### 但进程还在那里?

来自分类Dev

我的/ boot分区坏了。我该如何写在那里所需的一切?

来自分类Dev

当我使用BufferedReader获取HTML时,我需要的部分不在那里

来自分类Dev

无法打开共享的对象文件,但是库文件就在那里

来自分类Dev

使用Dropbox / Copy / OneDrive同步文件夹而不将文件夹放在那里

来自分类Dev

Noip“无法找到配置文件”,但是文件在那里

来自分类Dev

Python 3.4 FileNotFoundError:[Ernno 2]没有这样的文件或目录,但是文件在那里

来自分类Dev

Vim说'missing:endif',但是我确定它在那里

来自分类Dev

“ parcella_pk”在那里不行,它导致“ ValueError”。我应该使用什么?

来自分类Dev

Django找不到我的基本模板,但是它在那里

来自分类Dev

如何在MVC4中使用href?我被困在那里

来自分类Dev

我是否需要在那里显式使用flush()方法?

来自分类Dev

Cookie在那里,但我无法在CodeIgniter中获得它们。为什么?

来自分类Dev

Vim说'missing:endif',但是我确定它在那里

来自分类Dev

无论如何,我在那里定义了jsoncschema中的字典?

来自分类Dev

我可以在console.debug()并使Chrome Dev-tools断点在那里吗?

来自分类Dev

Firebase 说我在 Manifest 中缺少一行,但它在那里

来自分类Dev

无法选择我的领域,也无法使用 codeception 在那里写字

Related 相关文章

  1. 1

    为什么我会收到“ -bash:'alias:命令未找到”,但它在那里..?

  2. 2

    我收到未定义索引的通知,但是索引在那里

  3. 3

    X.org 配置文件在哪里?我如何在那里配置 X?

  4. 4

    列在那里,但我收到:SQLite3::SQLException:没有这样的列:requestor.birthyear

  5. 5

    DeleteFile() 失败但文件在那里(文件名很长)

  6. 6

    cli 找不到就在那里的文件夹

  7. 7

    我该如何仅将插入和修改插入文件中而将未修改的行留在那里?

  8. 8

    Hibernate DTD没有从类路径加载,罐子在那里,仍在获取FileNotFoundException

  9. 9

    我有一个aspx(vb)网站。当我尝试删除.vb文件(在那里保留.aspx文件)时,总是会出现HttpParseException?

  10. 10

    Aapt失踪,但在那里

  11. 11

    jQuery:缩小以居中并留在那里

  12. 12

    杀死#### 但进程还在那里?

  13. 13

    我的/ boot分区坏了。我该如何写在那里所需的一切?

  14. 14

    当我使用BufferedReader获取HTML时,我需要的部分不在那里

  15. 15

    无法打开共享的对象文件,但是库文件就在那里

  16. 16

    使用Dropbox / Copy / OneDrive同步文件夹而不将文件夹放在那里

  17. 17

    Noip“无法找到配置文件”,但是文件在那里

  18. 18

    Python 3.4 FileNotFoundError:[Ernno 2]没有这样的文件或目录,但是文件在那里

  19. 19

    Vim说'missing:endif',但是我确定它在那里

  20. 20

    “ parcella_pk”在那里不行,它导致“ ValueError”。我应该使用什么?

  21. 21

    Django找不到我的基本模板,但是它在那里

  22. 22

    如何在MVC4中使用href?我被困在那里

  23. 23

    我是否需要在那里显式使用flush()方法?

  24. 24

    Cookie在那里,但我无法在CodeIgniter中获得它们。为什么?

  25. 25

    Vim说'missing:endif',但是我确定它在那里

  26. 26

    无论如何,我在那里定义了jsoncschema中的字典?

  27. 27

    我可以在console.debug()并使Chrome Dev-tools断点在那里吗?

  28. 28

    Firebase 说我在 Manifest 中缺少一行,但它在那里

  29. 29

    无法选择我的领域,也无法使用 codeception 在那里写字

热门标签

归档