try {
URL url = new URL(sUrl[0]);
connection = (HttpURLConnection) url.openConnection();
connection.connect();
String Foldertosave = Environment.getDownloadCacheDirectory().getPath();
File file= new File(Foldertosave);
file.mkdir();
File file2 = new File(Foldertosave, "1.pdf");
file2.createNewFile();
if (connection.getResponseCode() != HttpURLConnection.HTTP_OK) {
return "Server returned HTTP " + connection.getResponseCode()
+ " " + connection.getResponseMessage();
}
int fileLength = connection.getContentLength();
input = connection.getInputStream();
output = new FileOutputStream(file2);
Нельзя писать прямо в Environment.getDownloadCacheDirectory()
Нужно создать там папку для себя.
И разрешение, возможно тоже потребуется.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
File folder = new File(Environment.getExternalStorageDirectory() +
File.separator + "test1");
if (!folder.exists()) {
folder.mkdir();
}
File f1 = new File(folder,"2.jpg");
Все получилось. Но почему-то не может сохранить в папку cache. Получается только на карту памяти. Как сохранить в папку data?
UPDATE
Решил эту проблему изменив эту строчку.
output = openFileOutput("filename",MODE_PRIVATE);
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники