Читать строку из определенной папки во внутреннем хранилище

Я попытался прочитать содержимое из моего файла во внутреннем хранилище с помощью этого кода:

public String read_file(Context context, String filename) {
        try {
            FileInputStream fis = context.openFileInput(filename);
            InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
            BufferedReader bufferedReader = new BufferedReader(isr);
            StringBuilder sb = new StringBuilder();
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                sb.append(line).append("\n");
            }
            return sb.toString();
        } catch (FileNotFoundException e) {
            return "";
        } catch (UnsupportedEncodingException e) {
            return "";
        } catch (IOException e) {
            return "";
        }
    }

// имя файла "et1.txt"

но он возвращает "". Я также пытался использовать:

File fileDirectory = new File(Environment.getExternalStorageDirectory()+"/Vara2/"+"et1"+".txt");
                File[]files=fileDirectory.listFiles();
                String string=files[0].toString();

Но длина массива файлов равна нулю.

У меня есть разрешения в моем файле манифеста для чтения и записи во внешнее хранилище, и я называю "запросить разрешение" в своей деятельности. Мое мнение, что ошибка в пути. Мой файл "et1.txt" находится во внутренней памяти, но в папке "Vara2", поэтому, я думаю, доступ к папке является проблемой. Спасибо всем!

0 ответов

Другие вопросы по тегам