[java] StringBuilder에 개행을 추가하는 방법

나는 StringBuilder물건을 가지고있다

StringBuilder result = new StringBuilder();
result.append(someChar);

이제 개행 문자를에 추가하고 싶습니다 StringBuilder. 내가 어떻게 해?

result.append("/n"); 

작동하지 않습니다. 그래서 유니 코드를 사용하여 줄 바꿈을 작성하려고했습니다. 도움이 되겠습니까? 그렇다면 어떻게 추가합니까?



답변

그것은해야한다

r.append("\n");

하지만 다음과 같이하는 것이 좋습니다.

r.append(System.getProperty("line.separator"));

System.getProperty("line.separator")java에서 시스템 종속적 개행을 제공합니다. 또한 Java 7에는 값을 직접 반환하는 메소드가 있습니다.System.lineSeparator()


답변

또 다른 옵션은 StringBuilder에없는 기능을 가진 Apache Commons StrBuilder를 사용하는 것입니다.

StrBuilder.appendLn ()

버전 3.6부터 StrBuilder는 동일한 기능을 가진 TextStringBuilder 를 위해 더 이상 사용되지 않습니다.


답변

이스케이프 처리는 \하지 말아야 /합니다.

그래서 r.append('\n');또는 r.append("\n");작동합니다 (에 StringBuilder대한 방법 charString유형 이 오버로드되었습니다 ).


답변

line.seperator새 줄을 추가 하는 데 사용할 수 있습니다 .


답변

StringBuidler와 유사한 원본 클래스를 만들고 appendLine (String str) 메서드를 호출하여 줄을 추가 할 수 있습니다.

public class StringBuilderPlus {

    private StringBuilder sb;

    public StringBuilderPlus(){
         sb = new StringBuilder();
    }

    public void append(String str)
    {
        sb.append(str != null ? str : "");
    }

    public void appendLine(String str)
    {
        sb.append(str != null ? str : "").append(System.getProperty("line.separator"));
    }

    public String toString()
    {
        return sb.toString();
    }
}

용법:

StringBuilderPlus sb = new StringBuilderPlus();
sb.appendLine("aaaaa");
sb.appendLine("bbbbb");
System.out.println(sb.toString());

콘솔:

aaaaa
bbbbb


답변

String.format(참조 java.util.Formatter) 에서 줄 구분 문자를 사용할 수도 있습니다. 이는 플랫폼과 무관합니다.

즉 :

result.append(String.format("%n", ""));

줄 간격을 더 추가해야하는 경우 다음을 사용하십시오.

result.append(String.format("%n%n", ""));

StringFormat끝에 줄 바꿈을 사용하여 전체 문자열의 형식을 지정할 수도 있습니다 .

result.append(String.format("%10s%n%n", "This is my string."));


답변

코 틀린에게

StringBuilder().appendln("your text");

이것은 자바 질문이지만, 이것은 kotlin의 첫 번째 Google 결과이기도합니다.