IT

StringBuilder에 개행을 추가하는 방법

lottoking 2020. 4. 25. 09:25
반응형

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."));

Android의 경우 읽기 및 쓰기에 사용하십시오!

private void writeToFile(String message) {
        try {
            OutputStream outputStream = openFileOutput("todoList.txt",Context.MODE_PRIVATE);
            OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream);
            outputStreamWriter.write(message);
            outputStreamWriter.close();

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

    private String readFromFile() throws IOException {

        String result = "";
        InputStream inputStream = openFileInput("todoList.txt");

        if (inputStream != null) {
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            String tempString = "";
            StringBuilder stringBuilder = new StringBuilder();

            while ( (tempString = bufferedReader.readLine()) != null ) {

                stringBuilder.append(tempString);
                stringBuilder.append("\n");
            }
            inputStream.close();
            result = stringBuilder.toString();
        }
        return result;
    }

코 틀린에게

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

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


이것은 StringBuilder에서도 작동합니다.

result.append("<BR />");

참고 URL : https://stackoverflow.com/questions/14534767/how-to-append-a-newline-to-stringbuilder

반응형