원본 글: https://www.baeldung.com/java-multiline-string
multiline string을 어떻게 선언하는지 확인해봅니다.
Java15에서는 Text Blocks라는 새로운 기능이 나왔는데 살펴보고, 다른 기존 방법도 살펴볼 것입니다.
1. Text Blocks
"""(큰 따옴표 3개)를 통하여 문자열을 생성할 수 있습니다.
@Test
public void text_block_test() {
String sentence = """
happy new year
Stay healthy always.
""";
System.out.println(sentence);
}
들여쓰기나 공백 등을 관리할 필요 없는 여러 줄을 선언하는 가장 편리한 방법 중 하나입니다.
다만, 위 방법은 Java15이상에서 가능합니다.
2. Getting the Line Separator
이 글에서는 Line Separator라는 속성을 추가하여 새로운 문자열을 만들고 있습니다.
String newLine = System.getProperty("line.separator");
이런식으로 구성하여 여러 테스트를 진행합니다.
그러기 위해서는 application.properties에 해당 내용이 있어야합니다.
//application.properties
line.separator=\n
앞으로 여러 테스트에서 쓰일 수 있으므로 사전 정의를 진행합니다.
@BeforeEach
public void setUp() {
newLine = System.getProperty("line.separator");
}
@Test
public void text_concat_test() {
String sentence = "happy new year"
.concat(newLine)
.concat("Stay healthy always.")
.concat(newLine)
.concat("2025-01-30")
.concat(newLine);
System.out.println(sentence);
}
결과를 보면 의도한대로 잘 진행된 것을 볼 수 있습니다.

다른 글에서도 보듯이 "+" 연산자를 통해서 똑같이 만들 수 있습니다.
@Test
public void text_operator_test() {
String sentence = "happy new year"
+ newLine
+ "Stay healthy always."
+ newLine
+ "2025-01-30"
+ newLine;
System.out.println(sentence);
}
3. String Join
Java8에서는 String.join()메서드를 통해서 문자열을 구성할 수 있습니다.
문자열에 관련해서는
Concatenating Strings in Java(문자열을 잇는방법)
원본글: https://www.baeldung.com/java-strings-concatenation Java에서 String객체를 잇는 방법에는 여러가지가 있는데, 그 중 몇 가지를 확인하고 나쁜(?) 코드도 확인해 보겠습니다. 1. StringBuilder StringBuilder클
ms727.tistory.com
이 글을 선행적으로 읽어보는게 이해하기 편합니다.
@Test
public void join_string_test() {
String sentence = String.join(newLine
, "happy new year"
, "Stay healthy always."
, "2025-01-30");
System.out.println(sentence);
}
이런 식으로 문자열 사이사이 구분자를 추가할 수 있습니다.
4. String Builder
StringBuilder를 통해서 문자열을 구성할 수 있습니다.
@Test
public void builder_multiline_test() {
String sentence = new StringBuilder()
.append("happy new year")
.append(newLine)
.append("Stay healthy always.")
.append(newLine)
.append("2025-01-30")
.toString();
System.out.println(sentence);
}
5. String Writer
이 메서드는 'newLine'이 필요없습니다. 알아서 줄바꿈을 해주기 때문입니다.
@Test
public void writer_test() {
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(stringWriter);
printWriter.println("happy new year");
printWriter.println("Stay healthy always.");
printWriter.println("2025-01-30");
System.out.println(stringWriter.toString());
}
다만 마지막 문자열에도 줄바꿈은 추가되기때문에 이를 유의해서 사용할 필요가 있어보입니다.
6. Guava Joiner
Google의 Guava라는 외부라이브러리를 통해서 문자열을 만들 수 있습니다.
간단한 예제에서는 큰 필요가 없어보일 수 있지만 프로젝트가 커지면 해당 라이브러리의 다양한 기능들을 적용해보는 것도 검토해보면 좋을 것 같습니다.
참고 :https://www.baeldung.com/guava-joiner-and-splitter-tutorial
public String guavaJoiner() {
return Joiner.on(newLine).join(ImmutableList.of("Get busy living",
"or",
"get busy dying.",
"--Stephen King"));
}
7. Loading From a File
Java에서는 파일을 읽을때 공백을 그대로 읽습니다. 파일을 읽고 String 객체로 반환하는 방법 중 하나를 확인해봅니다.
@Test
public void read_file_test() {
try {
System.out.println(new String(Files.readAllBytes(Paths.get("src/test/resources/multi-line.txt"))));
} catch (IOException e) {
System.out.println("error");
}
}
당연히 해당 경로에는 파일이 존재해야합니다.
8. 결론
Java에서 Multi-line을 구성하는 방법을 살펴봤습니다.
개인적으로 Java15이상에서 제공하는 Text Blocks방법이 제일 간편해서 자주 사용할 것 같습니다.
'Baeldung번역&공부 > Java-string' 카테고리의 다른 글
문자 보간방법(String Interpolation in Java) (0) | 2025.02.01 |
---|---|
Java Text Blocks (Java15이상) (0) | 2025.01.31 |
인코딩에 대하여(Guide to Character Encoding) (0) | 2025.01.29 |
String 비교법(Comparing Strings in Java) (0) | 2025.01.28 |
문자열 순회 방법들(How to Iterate Over the String Characters in Java) (0) | 2025.01.27 |