я пытаюсь прочитать файл в первенствовать андроид программно, но не отображает ENOENT (Нет такого файла или каталога)

голоса
0

Я пытаюсь читать первенствовать файл с карты памяти SD или память телефона в андроида программно, но он отображает файл не найден исключение. Помогите пожалуйста мне. Вот что я попробовал.



    package com.example.readexcel;
    import androidx.appcompat.app.AppCompatActivity;
    import android.app.Activity;
    import android.content.Intent;
    import android.net.Uri;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;

    import org.apache.poi.hssf.usermodel.HSSFDateUtil;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.ss.usermodel.Cell;
    import org.apache.poi.ss.usermodel.CellValue;
    import org.apache.poi.ss.usermodel.FormulaEvaluator;
    import org.apache.poi.ss.usermodel.Row;
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.InputStream;
    import java.text.SimpleDateFormat;
    public class ExcelTryTwo extends Activity {
        EditText output;
        Button btn_p;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_excel_try_two);
            output = findViewById(R.id.textOut);

            btn_p = findViewById(R.id.btn_p);

            btn_p.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
                    intent.setType(application/vnd.openxmlformats-officedocument.spreadsheetml.sheet);
                    startActivityForResult(intent, 7);
                }
            });
        }

        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            // TODO Auto-generated method stub

            // super.onActivityResult(requestCode, resultCode, data);
            switch (requestCode) {

                case 7:

                    if (resultCode == RESULT_OK) {
                        Uri PathHolder = data.getData();
                        //String PathHolder = data.getData().getPath();

                        //Toast.makeText(ExcelTryTwo.this, PathHolder , Toast.LENGTH_LONG).show();

                        onReadClick(PathHolder);

                    }
                    break;

            }
        }

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

            File inputfile = new File(String.valueOf(filepath));/*line to be commented*/

            //below line should uncomment
            //InputStream stream = getResources().openRawResource(R.raw.test);

            try {
                InputStream stream = getContentResolver().openInputStream(Uri.fromFile(inputfile));
                XSSFWorkbook workbook = new XSSFWorkbook(stream);
    /*
                InputStream stream=new FileInputStream(inputfile);*//*line to be commented*//*

               XSSFWorkbook workbook = new XSSFWorkbook(stream);*/

                XSSFSheet sheet = workbook.getSheetAt(0);
                int rowsCount = sheet.getPhysicalNumberOfRows();
                FormulaEvaluator formulaEvaluator = workbook.getCreationHelper().createFormulaEvaluator();
                for (int r = 0; r  8000) {
                CharSequence fullOutput = output.getText();
                fullOutput = fullOutput.subSequence(5000, fullOutput.length());
                output.setText(fullOutput);
                output.setSelection(fullOutput.length());
            }
            output.append(string + \n);
        }
    }

в общем то, что я хочу, чтобы прочитать первенствовать файл с телефона хранения или SD-карты и отображать его на андроид Programatically. Пожалуйста, помогите мне с образцом кода, я являюсь beginer. здесь нет ошибки, отображенной: java.io.FileNotFoundException: / Содержание: / com.android.externalstorage.documents / документ / первичный% 3AmyExcelfile.xlsx: открытая неуспешно: ENOENT (Нет такого файла или каталога) любой, кто знает о чтении первенствовать файл, пожалуйста, помогите мне. я в ней нуждается, как я делаю мой дипломный проект ..

но файл Excel имеет содержание.

Задан 19/03/2020 в 23:51
источник пользователем
На других языках...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more