android中选择文件的java问题

kyxcudwk  于 2021-06-29  发布在  Java
关注(0)|答案(0)|浏览(198)

这个问题在这里已经有答案了

android kotlin:获取一个filenotfoundexception,其文件名是从文件选择器中选择的(3个答案)
android-获取从文件资源管理器中选择的.txt文件的实际路径(1个答案)
8天前关门了。
我正在添加源代码。如果可能添加您的源代码(文件上传)来帮助我。
活动结果:

try {

        // When an file is picked
        if (requestCode == 3 && resultCode == RESULT_OK && null != data) {

            // Get the file from data
//                String path = data.getStringExtra(mediaPath);
            File file = new File(String.valueOf(data.getData()));
            Uri selectedFile = Uri.fromFile(new File(file.getAbsolutePath()));
            String[] filePathColumn = {MediaStore.Files.FileColumns.MEDIA_TYPE};

            Log.d("PATH",String.valueOf(data.getData()));

            Cursor cursor = getContentResolver().query(selectedFile, filePathColumn, null, null, null);
            assert cursor != null;
            cursor.moveToFirst();

            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
            mediaPath = cursor.getString(columnIndex);
            txt.setText(String.valueOf(data.getData()));
            cursor.close();

//                try {
//                    String parsedText="";
//                    PdfReader reader = new PdfReader(mediaPath);
//                    int n = reader.getNumberOfPages();
//                    for (int i = 0; i <n ; i++) {
//                        parsedText   = parsedText+ PdfTextExtractor.getTextFromPage(reader, i+1).trim()+"\n"; //Extracting the content from the different pages
//                    }
//                    Log.d("PDF_TEXT",parsedText);
//                    System.out.println(parsedText);
//                    reader.close();
//                } catch (Exception e) {
//                    System.out.println(e);
//                }
            }
            else {
                Toast.makeText(this, "You haven't picked any file", Toast.LENGTH_LONG).show();
            }
        } catch (Exception e) {
            Toast.makeText(this, "Something went wrong", Toast.LENGTH_LONG).show();
            Log.d("EXCEPTION_ERROR",e.toString());
        }

问题:

java.lang.AssertionError
    at com.example.pdfreader.MainActivity.onActivityResult(MainActivity.java:78)
``` `MainActivity.java:78` 代表 `assert cursor != null;` 我试过了 `Log.d("CURSOR",String.valueOf(cursor)) before` Assert游标!=空值;`然后我得到logcat游标为空。
我之前面临的问题也是固定的。这是斯塔克的问题

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题