Я хочу записать в файл, используя следующее:
BufferedWriter buf = new BufferedWriter (new FileWriter ("test2")); buf.write (mytext); buf.close ();
но я получил это сообщение (файл test2 только для чтения)
Как можно я получаю разрешение на запись?
У вас есть это в вашем файле AndroidManifest.xml?
Кроме того, по этой ссылке есть все, что вам нужно знать о чтении и записи файлов:
http://www.anddev.org/working_with_files-t115.html
Этот вопрос довольно старый, но я все равно собираюсь написать этот ответ, так как это лучший результат при поиске «разрешения на запись файла в android»
NotACleverMan answer является допустимым, но с момента выпуска MarshMallow пользователей необходимо попросить предоставить разрешение вручную. Следовательно, пользователю должен быть представлен диалог, в котором он может явно отказать или предоставить разрешение на использование некоторых функций.
Взято из документации разработчика Android
Начиная с Android 6.0 (уровень API 23), пользователи предоставляют разрешения приложениям во время работы приложения, а не при его установке. Такой подход упрощает процесс установки приложения, поскольку пользователю не нужно предоставлять разрешения при установке или обновлении приложения. Это также дает пользователю больше контроля над функциональностью приложения; например, пользователь может предоставить приложению камеры доступ к камере, но не к местоположению устройства. Пользователь может отозвать разрешения в любое время, перейдя на экран настроек приложения.
Итак, сначала вы должны включить это в свой файл манифеста
После этого вы должны запросить разрешение у пользователя, когда вам нужно доступ к указанному ресурсу
ActivityCompat.requestPermissions (thisActivity, new String [] {Manifest.permission.WRITE_STORAGE}, YOUR_PERMISSION_STATIC_CODE_IDENTIFIER);
Для получения дополнительных сведений о реализации обратитесь к этому

-
Обязательный ответ — Нагабхушан С.Н. 9 июня ’19 в 17:54
Этот вопрос довольно старый, но Я собираюсь написать этот ответ в любом случае, так как это лучший результат при поиске «разрешения на запись файла в android»
Ответ NotACleverMan действителен, но с момента выпуска MarshMallow пользователей необходимо попросить предоставить разрешение вручную. Поэтому пользователю должен быть представлен диалог, в котором он может явно отказать или предоставить разрешение на использование некоторых функций.
Взято из документации разработчика Android
Начиная с Android 6.0 (уровень API 23), пользователи предоставляют разрешения приложениям во время работы приложения, а не при его установке. Такой подход упрощает процесс установки приложения, так как пользователю не нужно предоставить разрешения, когда они устанавливают или обновляют приложение. Это также дает пользователю больше контроля над функциональностью приложения; например, пользователь может предоставить приложению камеры доступ к камере, но не к местоположению устройства. Пользователь может отозвать разрешения в любое время, перейдя на экран настроек приложения.
Итак, сначала вы должны включить это в свой файл манифеста
После этого вы должны запросить разрешение у пользователя, когда вам нужно доступ к указанному ресурсу
ActivityCompat.requestPermissions (thisActivity, new String [] {Manifest.permission.WRITE_STORAGE}, YOUR_PERMISSION_STATIC_CODE_IDENTIFIER);
Для получения дополнительных сведений о реализации обратитесь к этому
byte [] data;
присвоить значение imagebyte переменной данных
//Запись в SD CardFileOutputStream outStream = new FileOutputStream (String.format ("/sdcard/piyush.jpg", System.currentTimeMillis ())); outStream.write (данные); outStream.close ();
Дайте разрешение на запись для открытия файла AndroidManifest.xml
и поместите этот код


-
Кажется, этот ответ неполный. Я думаю, что должно быть добавлено под строкой «и поместите этот код». — zaplec 24 апр. ’12 в 8:27
byte [] data;
присвоить значение imagebyte переменной данных
//Запись в SD CardFileOutputStream outStream = new FileOutputStream (String.format ("/sdcard/piyush .jpg ", System.currentTimeMillis ())); outStream.write (data); outStream.close ();
Дать разрешение на записьOpen A ndroidManifest.xml
и поместите этот код