"java.io.filenotFoundException (нет такого файла или каталога)"Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 "java.io.filenotFoundException (нет такого файла или каталога)"

Сообщение Anonymous »

У меня есть класс в моем проекте, чтобы загрузить изображение и сохранить в моей базе данных и, если успешно, сохраните его локально. Это работает, и я могу сохранить изображение в пользовательской папке, которую я создал на моем телефоне Android. Кажется, я не могу создать папку. < /P>

Я не понимаю, как она работала над моим другим классом, а не в этом < /p>

Я попытался проверить свой манифестный файл и посмотреть, включил ли я необходимые разрешения и если они находятся в нужных местах < /p>








...

< /code>

[edit] ОК, я попытался удалить пробелы в моем FilePath, чтобы проверить, действительно ли пробелы было тем, что вызывает проблему, и это все еще не работало < /p>

File folder = new File(Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_DCIM) + File.separator + "TBSystem" + File.separator + patient_id + File.separator + "lab_result_" + sqlDateToString(result_date) + ".jpg");
< /code>

Кроме того, почему это работает на моем другом классе с пробелом, а не на этом? : (< /p>

File folder = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_DCIM) + File.separator + "TB System" + File.separator + patient_id);

if (!folder.exists()) {
folder.mkdirs();
}

folder = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_DCIM) + File.separator + "TB System" + File.separator + patient_id + File.separator + "lab_result_" + result_date + ".jpg");

byte[] decodedBytes = Base64.decode(encoded_image, 0);
Bitmap imageBitmap = BitmapFactory.decodeByteArray(decodedBytes, 0, decodedBytes.length);

try (
FileOutputStream out = new FileOutputStream(folder)) {
imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
} catch (IOException e) {
e.printStackTrace();
}

W/System.err: java.io.FileNotFoundException: /storage/emulated/0/DCIM/TB System/pat1/lab_result_2019-04-06.jpg (No such file or directory)
W/System.err: at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:308)
at java.io.FileOutputStream.(FileOutputStream.java:238)
at java.io.FileOutputStream.(FileOutputStream.java:180)
at buenaventura.dorothy.tbmgmtapp.db_volley.VolleyDownloadRequest$1.onResponse(VolleyDownloadRequest.java:569)
at buenaventura.dorothy.tbmgmtapp.db_volley.VolleyDownloadRequest$1.onResponse(VolleyDownloadRequest.java:103)
at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:82)
at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:29)
at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:102)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:6981)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)

< /code>

patent_id и result_date - это просто строки. Encoded_image - это Lontext < /p>

Мне нужно иметь возможность преобразовать кодированный текст, который я загрузил в растровый карту и сохранить его в пользовательской папке «TB System». Я ожидаю найти внутри DCIM. Другая папка должна быть создана внутри системы TB (то есть PAT1, PAT2, PAT3, ...), и изображения будут сохранены внутри них.

Подробнее здесь: https://stackoverflow.com/questions/555 ... -directory
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»