Не можете начать новую строку с "\ n"? - PullRequest
0 голосов
/ 25 октября 2011


Я работаю над проектом, и небольшая его часть действительно смущает меня.Скажем, у меня есть массив строк:

String[]text = {"string","array"}; 

например.
И я хочу сделать это в одной строке с новой строкой "\ n" между каждым словом.Так вот мой код

public String setText(String [] text) throws UnsupportedEncodingException{
    StringBuffer result = new StringBuffer();
    String newline = System.getProperty("line.separator");
    if (text.length > 0) {
        result.append(text[0]);
        for (int i=1; i<text.length; i++) {
            result.append(newline);
            result.append(text[i]);
        }
    }
    return result.toString();
}

Мой код не работает.Возвращаемое значение представляет собой одну строку, но когда я ее использую, она все еще находится в одной строке.

Кто-нибудь может мне помочь с этим?

Спасибо

Аллан

Ответы [ 3 ]

1 голос
/ 25 октября 2011

Вы видели, что System.getProperty("line.separator"); возвращает? В разных ОС это будут разные символы \n - Linux и \r\n в Windows Попробуй использовать System.getProperty("line.separator", "\r\n"); или System.getProperty("line.separator", "\n");

0 голосов
/ 25 октября 2011

Зависит от того, как вы используете результат. Вы пытались записать его в System.out / файл или что-то подобное?

0 голосов
/ 25 октября 2011

Я бы порекомендовал использовать Столярный из библиотеки Google Guava .

Joiner.on(System.getProperty("line.separator")).join(text)

...