Как я могу давать разрыв линии, написав файл в Android?

у меня были проблемы с написанием файлов в Android, я нуждаюсь в том, чтобы наполнить формуляр и после хранить это в файле PDF или txt, пока это пробую в txt, но мне не удается написать более одной строки в нем, благодаря тому, что после того, как старался писать в нем и поместив разрывы линии в конце каждого, контент, который после разрыва линии, не появляется.

Это мой код написания:

    public void escribirDatos(){
    try {
        OutputStreamWriter fout = new OutputStreamWriter(openFileOutput(textEdit.getText().toString(), Context.MODE_APPEND));

        fout.write("Fecha: 29/8/2017 Hora: 22:00" + '\n' + "Lugar y área: \t\t Levantamiento realizado por:");
        fout.close();
        Log.e("Creación","Archivo creado correctamente");

    } catch (FileNotFoundException e) {
       e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }

}

Чтение:

public void leerDatos(){
    try {

        BufferedReader finLinea = new BufferedReader(new InputStreamReader(openFileInput(textEdit.getText().toString())));
        String texto = finLinea.readLine();
        textView.setText(texto);
        finLinea.close();
    }catch (Exception ex)
    {
        Log.e("Ficheros","Error al leer archivo");

    }

}

Я надеюсь, что они могут помогать мне, и большое спасибо из-за Вашего внимания.

4
задан 05.01.2017, 21:31
0 ответов

Проверь следующее Соединение, которое является документацией OutputStreamWriter

но главным образом ты можешь делать что-то как это:

public static void writeFile1() throws IOException {
File fout = new File("out.txt");
FileOutputStream fos = new FileOutputStream(fout);

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));

for (int i = 0; i < 10; i++) {
    bw.write("something");
    bw.newLine();
}


    bw.close();
}
5
ответ дан 03.12.2019, 17:51

Просто в тебя OutputStreamWriter добавь возврат carriage и новая линия:

osw.append("\r\n");

он был бы:

  try {
        OutputStreamWriter fout = new OutputStreamWriter(openFileOutput(textEdit.getText().toString(), Context.MODE_APPEND));

        fout.append("\r\n");  //Esto agregaría el salto de línea.

        fout.write("Fecha: 29/8/2017 Hora: 22:00" + '\n' + "Lugar y área: \t\t Levantamiento realizado por:");
        fout.close();
        Log.e("Creación","Archivo creado correctamente");

    }

Другой выбор - используя метод newLine() класса BufferedWriter

newLine (): Предоставляется метод newLine (), что использует само понятие разделителя линий платформы, определенной свойством системы line.separator. Не все платформы используют символ новой линии ('\n'), чтобы заканчивать линии. Призывать в этот метод заканчивать каждую линию вывода - предпочтительно, чтобы писать символ новой линии прямо.

пример:

    FileOutputStream fos = new FileOutputStream(fout); 
    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));

   bw.write("Fecha: 29/8/2017 Hora: 22:00" + '\n' + "Lugar y área: \t\t Levantamiento realizado por:"); 
   bw.newLine(); //Escribe nueva linea.
0
ответ дан 03.12.2019, 17:51
  • 1
    Есть mé все для этого, así не tenes, что harcodear разрыв линии, он в самом деле существует, потому что разрывы линии не равны во всех языках: " bw.newLine (); " –  05.01.2017, 22:14
  • 2
    есть mé совсем, но он не принадлежит OutputStreamWriter принадлежит BufferedWriter - другая opció n который agregaré в мой ответ. Что ты имеешь в виду, которому разрывы линии не равны? OP помещает текстовый файл как пример. –  05.01.2017, 22:34

Теги

Похожие вопросы