Приветствую спецов! Я начинающий в программировании на java андроид. Пытаюсь отправить файл через почтовый клиент. Файл прикрепляется к письму и появляется в почтовом клиенте. Письмо приходит на указанный адрес, но без файла. Файл не пустой, проверял файловым менеджером. Использую такой код:
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("plain/text");
// Кому
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
new String[] { "ххххххх@gmail.com" });
// Зачем
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
tema);
// С чем
emailIntent.putExtra(android.content.Intent.EXTRA_STREAM,Uri.fromFile(new File("Logf.txt")));
Файл создавался во внутренней памяти таким кодом:
BufferedWriter Writer = new BufferedWriter(new OutputStreamWriter(openFileOutput("Logf.txt", MODE_PRIVATE | MODE_APPEND), "UTF-8"));
Writer.write(log_text+"\n");
Writer.flush();
Writer.close();
заметил, что при попытке чтения файла также возникала неудача, хотя файл был непустой. Код для чтения такой:
BufferedReader Reader = new BufferedReader(new InputStreamReader(openFileInput("Logf.txt"), "UTF-8"));
while (Reader.readLine() != null) {
str=str+Reader.readLine()+"\n";
}
В результате чтения str было "null".
Прошу спецы подскажите, что я делал не так?
Видимо у Вас текст в файле в одну строку и Вы её пропускаете:
while (Reader.readLine() != null) - здесь строка уже прочитана, но Вы её не сохраняете в переменную и она теряется.
Нужно так:
BufferedReader reader = new BufferedReader(new InputStreamReader(openFileInput("Logf.txt"), "UTF-8"));
String line;
while ((line = reader.readLine()) != null) {
str += line + "\n";
}
Продвижение своими сайтами как стратегия роста и независимости