Запись в файл OutputStreamWriter не работает
Делаю приложение на андроид и хочу сделать функцию экспорта файла с последующей записью данных. Но когда файл создается, почему то данные не записываются в него. А ошибок в логах никаких нет. Я вообще уже не знаю как это решить. Я пробовал разные варианты записи, гуглил ответы но большинство ответов вообще не работает или для пк приложений.
Вот код записи текста:
String lineSeparator = System.getProperty("line.separator");
String quizfileName = onlyQuizName + ".qzp";
DocumentFile documentFile = DocumentFile.fromTreeUri(this, selectedExportDir);
DocumentFile quizdocfile = documentFile.createFile("text/qzp", quizfileName);
quizdocfile.getUri();
OutputStream Fos = null;
try {
Fos = getContentResolver().openOutputStream(quizdocfile.getUri(), "rw");
OutputStreamWriter fos = new OutputStreamWriter(Fos, StandardCharsets.UTF_8);
fos.write((line1 + lineSeparator));
fos.write((line2 + lineSeparator));
fos.write((line3 + lineSeparator));
fos.write((line4 + lineSeparator));
fos.write((line5 + lineSeparator));
fos.write((line6 + lineSeparator));
fos.write((line7 + lineSeparator));
fos.write((line8 + lineSeparator));
fos.write((line9 + lineSeparator));
fos.write((line10 + lineSeparator));
fos.write((line11 + lineSeparator));
fos.write((line12 + lineSeparator));
fos.write((line13 + lineSeparator));
fos.write((line14 + lineSeparator));
fos.write((line15 + lineSeparator));
fos.write((line16 + lineSeparator));
fos.write((line17 + lineSeparator));
fos.write((line18 + lineSeparator));
fos.write((line19 + lineSeparator));
fos.write((line20 + lineSeparator));
fos.write((line21 + lineSeparator));
fos.write((line22 + lineSeparator));
fos.write((line23 + lineSeparator));
fos.write((line24 + lineSeparator));
fos.write((line25 + lineSeparator));
fos.write((line26 + lineSeparator));
fos.write((line27 + lineSeparator));
fos.write((line28 + lineSeparator));
fos.write((line29 + lineSeparator));
fos.write((line30 + lineSeparator));
fos.write((line31 + lineSeparator));
fos.write((line32 + lineSeparator));
fos.write((line33 + lineSeparator));
fos.write((line34 + lineSeparator));
fos.write((line35 + lineSeparator));
fos.write((line36 + lineSeparator));
fos.write((line37 + lineSeparator));
if (line2.startsWith("10")) {
fos.write((line38 + lineSeparator));
fos.write((line39 + lineSeparator));
fos.write((line40 + lineSeparator));
fos.write((line41 + lineSeparator));
fos.write((line42 + lineSeparator));
fos.write((line43 + lineSeparator));
fos.write((line44 + lineSeparator));
fos.write((line45 + lineSeparator));
fos.write((line46 + lineSeparator));
fos.write((line47 + lineSeparator));
fos.write((line48 + lineSeparator));
fos.write((line49 + lineSeparator));
fos.write((line50 + lineSeparator));
fos.write((line51 + lineSeparator));
fos.write((line52 + lineSeparator));
fos.write((line53 + lineSeparator));
fos.write((line54 + lineSeparator));
fos.write((line55 + lineSeparator));
fos.write((line56 + lineSeparator));
fos.write((line57 + lineSeparator));
fos.write((line58 + lineSeparator));
fos.write((line59 + lineSeparator));
fos.write((line60 + lineSeparator));
fos.write((line61 + lineSeparator));
fos.write((line62 + lineSeparator));
fos.write((line63 + lineSeparator));
fos.write((line64 + lineSeparator));
fos.write((line65 + lineSeparator));
fos.write((line66 + lineSeparator));
fos.write((line67 + lineSeparator));
fos.write((line68 + lineSeparator));
fos.write((line69 + lineSeparator));
fos.write((line70 + lineSeparator));
fos.write((line71 + lineSeparator));
fos.write((line72 + lineSeparator));
}
Fos.close();
Toast.makeText(this, "Файл сохранен", Toast.LENGTH_SHORT).show();
}
catch(IOException ex) {
}
finally {
try {
if(Fos!=null)
Fos.close();
}
catch(IOException ex){
}
}
Источник: Stack Overflow на русском