Не работает метод, открывающий файл в Android

Снова не могу найти ошибку, в этот раз, подозреваю, что я как-то не так прописала путь к файлу, потому что условие if(file.exists() && file.isFile()) никогда не выполняется

Путь:

private String path = Environment.getExternalStorageDirectory().toString() + "/files/";

В манифесте прописано:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Кнопка "открыть файл":

 case R.id.action_open:
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.setTitle("Имя файла");
                builder.setMessage("Введите имя файла для открытия");
                EditText input = new EditText(this); //ввод имени файла
                builder.setView(input);
                builder.setPositiveButton("Открыть", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        editText.setText("");
                        String value = input.getText().toString(); 
                        filename = value;
                        File file = new File(path + filename);
                        if(file.exists() && file.isFile()) {
                            editText.setText(openFile(filename));
                        }
                        else {
                            Toast.makeText(MainActivity.this, "Файл не существует.", Toast.LENGTH_SHORT).show();
                        }
                    }
                });
                builder.show();
                return true;

Метод, открывающий файл:

private String openFile(AppCompatActivity app, String filename) {

        StringBuilder text = new StringBuilder();
        try {
            File file = new File((this.path), filename);
            BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
            String line;
            while ((line=bufferedReader.readLine())!= null) {
                text.append(line + "\n");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return text.toString();
    }

Я знаю, что есть Intent.ACTION_OPEN_DOCUMENT, но не понимаю, как с ним работать (если это является решением проблемы, то можно, пожалуйста, ссылку на какой-нибудь пример?) Я не понимаю сам принцип работы - мы при помощи uri однозначно определяем файл, передаем его uri в метод, дальше создается конкретный intent, определяется категория и тип, и все это передается в startActivityForResult(). А затем используется onActivityResult и каким-то образом получается ссылка на файл?


Ответы (0 шт):