Как записать и считать данные в текстовик находящийся в памяти телефона? Android 5.1.1. Java
Вот что у меня тут:
public void AddClick (View v) {
// проверяем доступность SD
if (!Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
Toast.makeText(this,"SD-карта не доступна: " + Environment.getExternalStorageState(),Toast.LENGTH_LONG).show();
//Log.d(LOG_TAG, "SD-карта не доступна: " + Environment.getExternalStorageState());
//return;
}
// получаем путь к SD
File sdPath = Environment.getExternalStorageDirectory();
// добавляем свой каталог к пути
sdPath = new File(sdPath.getAbsolutePath() + "/"+"mynewdir");
// создаем каталог
sdPath.mkdirs();
// формируем объект File, который содержит путь к файлу
File sdFile = new File(sdPath, "words.txt");
try {
// открываем поток для записи
BufferedWriter bw = new BufferedWriter(new FileWriter(sdFile));
// пишем данные
bw.write("Содержимое файла на SD");
// закрываем поток
bw.close();
Toast.makeText(this,"Файл записан на SD: " + sdFile.getAbsolutePath(),Toast.LENGTH_LONG).show();
//Log.d(LOG_TAG, "Файл записан на SD: " + sdFile.getAbsolutePath());
} catch (IOException e) {
e.printStackTrace();
}
}
Почему-то оно не работает. Помогите пожалуйста)
Ответы (1 шт):
Автор решения: Maks
→ Ссылка
Пропишите в Manifest.xml это разрешение:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
для добавления данных в файл без перезаписи используйте это:
public static void usingBufferedWritter() throws IOException {
String textToAppend = "Happy Learning !!";
BufferedWriter writer = new BufferedWriter(new FileWriter(FilePath, true));
writer.newLine(); //Добавляем новую строку
writer.write(textToAppend);
writer.close();
}