Начиная с 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"
кто-то копирует готовый файл, а мне пару записей проще заполнить выполнением захардкоженных запросов