Задать вопрос
  • Android studio при попытке открыть файл для парсинга упорно его не видит, какие могут быть причины?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Начиная с 12го проще считать, что файлов в андроиде нет. Есть потоки и контент провайдеры. Огрызки файлового доступа остались в двух местах.

    File file = new File(context.getFilesDir(), "test.xml");

    и аналогично к директории кеширования.
    Раз файл не находит, то очевидно проблема в том как он оказался записан по пути

    /data/user/0/com.example.myapplication/files/test.xml

    Из строк дальше читается, что вы хотите заселить свою базу данных.
    Начальные данные (xml) поместите в assets так как из дистрибутива по используемому пути автоматом ничего не попадет. Сделайте копирование, если напрямую не получиться читать
    private void copyPdfFromAssets() {
            executor.execute(() -> {
                try {
                    InputStream inp = getAssets().open("IppVirtual.pdf");
                    java.io.File file = new java.io.File(getApplication().getCacheDir(), "preview.pdf");
                    FileOutputStream fos = new FileOutputStream(file);
                    byte[] buf = new byte[32768];
                    int len;
                    while ((len = inp.read(buf)) != -1) {
                        if (len > 0) {
                            fos.write(buf, 0, len);
                        }
                    }
                    fos.flush();
                    fos.close();
                    inp.close();
                    handler.post(this::createPreview);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            });
        }

    Вот подобный кусок из моего свежего приложения.

    А если смотреть дальше, то заполнение базы данных гуглить как "android prepopulate room database"
    кто-то копирует готовый файл, а мне пару записей проще заполнить выполнением захардкоженных запросов
    Ответ написан
    Комментировать