Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 试图从内部存储器中读取.xlsx文件中的数据时,出现“找不到文件”错误_Java_Android - Fatal编程技术网

Java 试图从内部存储器中读取.xlsx文件中的数据时,出现“找不到文件”错误

Java 试图从内部存储器中读取.xlsx文件中的数据时,出现“找不到文件”错误,java,android,Java,Android,我正在尝试从存储在内部存储器中的.xlsx文件读取数据,但在尝试访问该文件时出现了“未找到文件”错误 我已经尽力解决这个问题,但没有得到答案 有什么解决办法吗 这是我的密码 if (v == btnChoose) { Intent intent = new Intent() .setType("*/*") .setAction(Intent.ACTION_GET_CO

我正在尝试从存储在内部存储器中的.xlsx文件读取数据,但在尝试访问该文件时出现了“未找到文件”错误

我已经尽力解决这个问题,但没有得到答案

有什么解决办法吗

这是我的密码

  if (v == btnChoose) {

            Intent intent = new Intent()
                    .setType("*/*")
                    .setAction(Intent.ACTION_GET_CONTENT);
            intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
            intent.addCategory(Intent.CATEGORY_OPENABLE);            
            startActivityForResult(Intent.createChooser(intent, "Select a 
            file"), 1);
        }
    }

      @Override
     protected void onActivityResult(int requestCode, int resultCode, 
    Intent 
     data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 1 && resultCode == RESULT_OK) {
        if ((data != null) && (data.getData() != null)) {
            Uri selectedFile = data.getData();
            String PathHolder = data.getData().getPath();
            try {
                InputStream stream = 
     getContentResolver().openInputStream(data.getData());
                onReadClick(stream);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }

            Toast.makeText(this, String.valueOf(selectedFile), 
      Toast.LENGTH_SHORT).show();

        }
    }
}

      public void onReadClick(InputStream filepath) {
    printlnToUser("reading XLSX file from resources");

    try {

        XSSFWorkbook workbook = new XSSFWorkbook(filepath);
        XSSFSheet sheet = workbook.getSheetAt(0);
        int rowsCount = sheet.getPhysicalNumberOfRows();
        FormulaEvaluator formulaEvaluator = 
      workbook.getCreationHelper().createFormulaEvaluator();
        for (int r = 0; r < rowsCount; r++) {
            Row row = sheet.getRow(r);
            int cellsCount = row.getPhysicalNumberOfCells();
            for (int c = 0; c < cellsCount; c++) {
                String value = getCellAsString(row, c, formulaEvaluator);
                String cellInfo = "r:" + r + "; c:" + c + "; v:" + value;
                printlnToUser(cellInfo);
            }
        }
    } catch (Exception e) {
        
        printlnToUser(e.toString());
    }
}
错误

E/AndroidRuntime:致命异常:主 流程:com.smartloan.smtrick.electionapp,PID:18818
org.apache.poi.javax.xml.stream.FactoryConfigurationError:找不到提供程序com.bea.xml.stream.EventFactory
位于org.apache.poi.javax.xml.stream.FactoryFinder.newInstanceFactoryFinder.java:72
位于org.apache.poi.javax.xml.stream.FactoryFinder.findFactoryFinder.java:178
位于org.apache.poi.javax.xml.stream.FactoryFinder.findFactoryFinder.java:92
位于org.apache.poi.javax.xml.stream.XMLEventFactory.newInstanceXMLEventFactory.java:30 位于org.apache.poi.openxml4j.opc.internal.marshallers.PackagePropertiesMarshaller.PackagePropertiesMarshaller.java:41 位于org.apache.poi.openxml4j.opc.OPCPackage.initOPCPackage.java:161 在org.apache.poi.openxml4j.opc.OPCPackage.OPCPackage.java:141 位于org.apache.poi.openxml4j.opc.ZipPackage.ZipPackage.java:97 位于org.apache.poi.openxml4j.opc.OPCPackage.openOPCPackage.java:324 位于org.apache.poi.util.PackageHelper.openPackageHelper.java:37 位于org.apache.poi.xssf.usermodel.XSSFWorkbook.XSSFWorkbook.java:295 请访问com.smartloan.smtrick.electionapp.Activity\u ReadPdf.onReadClickActivity\u ReadPdf.java:181 请访问com.smartloan.smtrick.electionapp.Activity\u ReadPdf.onActivityResultActivity\u ReadPdf.java:155 在android.app.Activity.dispatchActivityResultActivity.java:8249 在android.app.ActivityThread.deliverResultsActivityThread.java:4958 在android.app.ActivityThread.handleSendResultActivityThread.java:5006 在android.app.servertransaction.ActivityResultItem.executeActivityResultItem.java:51 在android.app.servertransaction.TransactionExecutor.ExecuteCallbackTransactionExecutor.java:135 在android.app.servertransaction.TransactionExecutor.executeTransactionExecutor.java:95 在android.app.ActivityThread$H.handleMessageActivityThread.java:2068 位于android.os.Handler.dispatchMessageHandler.java:107 在android.os.Looper.Looper.java:224 在android.app.ActivityThread.mainActivityThread.java:7551 在java.lang.reflect.Method.Invokenactive方法中 位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.RuntimeInit.java:539 位于com.android.internal.os.ZygoteInit.mainZygoteInit.java:995
E/MQSEventManagerDelegate:未能获取MQSService。

intent.setFlagsFLAG\u GRANT\u READ\u URI\u PERMISSION | FLAG\u GRANT\u WRITE\u URI\u PERMISSION;你最好把它去掉,因为它毫无意义。您不能在此处授予任何权限。String PathHolder=data.getData.getPath;您应该查看.getPath返回的值,然后意识到它不是可用于file类的文件系统路径。相反,请查看uri.toString以查看您获得的内容方案。InputStream stream=getContentResolver.openInputStreamdata.getData;我将尝试此方法,谢谢youorg.apache.poi.javax.xml.stream.FactoryConfigurationError:Provider com.bea.xml.stream.EventFactory现在找不到此错误