2016-03-12 5 views
-1

У меня есть текстовый файл, который выглядит следующим образом:Объединение нескольких строк в одну строку

thiasisatest("test1", 
     "test2", 
     "test3", 
     "test4", 
     "test5"); 

Выход я пытаюсь достичь этого:

thiasisatest("test1", "test2", "test3", "test4", "test5"); 

Мой код выглядит следующим образом:

import java.io.*; 

public class IoTest { 

    public static void main(String[] args) { 

     BufferedReader br = null; 

     try { 

      String sCurrentLine; 

      br = new BufferedReader(new FileReader("/Applications/textfile.txt")); 

      while ((sCurrentLine = br.readLine()) != null) { 

       System.out.println(sCurrentLine.trim().replace("\n", "")); 
      } 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } finally { 
      try { 
       if (br != null)br.close(); 
      } catch (IOException ex) { 
       ex.printStackTrace(); 
      } 
     } 

    } 

} 

Я читаю строку и заменить все строки, в то время цикла, но выход не меняется и линия стила Когда я пытаюсь распечатать строку.

Что я делаю неправильно?

Спасибо за вашу помощь

+0

USE System.out.print(): – SmashCode

ответ

1

На самом деле вам не нужно заменять линию; Потому что вы технически напоминаете строки за строкой.

Все, что вам нужно сделать, это создать StringBuilder, к которому вы добавляете каждую строку из буферизованного считывателя.

Ваш код должен выглядеть следующим образом

String sCurrentLine; 

StringBuilder builder = new StringBuilder(); 
while ((sCurrentLine = br.readLine()) != null){ 
    builder.append(sCurrentLine); 
} 

Теперь вы можете выводить содержание «строитель» в другой файл.

1
System.out.println 

завершает линию, что, почему вы получаете несколько строк.

+0

Действительно ли это верно? Выход все тот же, если я использую «System.out.print» и удаляю функцию замены. –

+0

Почему вы удаляете функцию замены? который сохранит символы «\ n» и повторно вставит несколько строк. – Nautilus

Смежные вопросы