Java에서 줄바꿈된 문자열을 분할하는 방법은 여러 가지가 있습니다.
split(), BufferedReader, Scanner, Stream API 등을 활용하여 다양한 환경에서 줄바꿈을 처리할 수 있습니다.
🚀 1. split("\n") 사용 (가장 간단한 방법)
public class SplitExample {
public static void main(String[] args) {
String text = "apple\nbanana\ncherry";
// 줄바꿈 문자 기준으로 분할
String[] lines = text.split("\n");
for (String line : lines) {
System.out.println(line);
}
}
}
✅ 가장 간단한 방법
🚨 Windows(\r\n) 환경에서는 \r가 남을 수 있음
🚀 2. split("\\R") 사용 (운영체제 자동 감지)
\\R은 운영체제에 따른 모든 줄바꿈 문자(\r, \n, \r\n)를 자동 감지합니다.
public class SplitExample {
public static void main(String[] args) {
String text = "apple\r\nbanana\ncherry";
// 모든 줄바꿈 문자 자동 인식
String[] lines = text.split("\\R");
for (String line : lines) {
System.out.println(line);
}
}
}
✅ Windows, Linux, macOS 모두 자동 감지
✅ Java 8 이상에서 사용 가능
🚀 3. BufferedReader 사용 (파일/큰 문자열 처리 시 유용)
import java.io.BufferedReader;
import java.io.StringReader;
import java.io.IOException;
public class SplitExample {
public static void main(String[] args) throws IOException {
String text = "apple\nbanana\ncherry";
BufferedReader reader = new BufferedReader(new StringReader(text));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
}
}
✅ 줄바꿈 자동 인식 (\r, \n, \r\n 모두 처리 가능)
✅ 파일을 읽을 때 유용 (new FileReader("file.txt") 사용 가능)
🚀 4. Scanner 사용
import java.util.Scanner;
public class SplitExample {
public static void main(String[] args) {
String text = "apple\nbanana\ncherry";
Scanner scanner = new Scanner(text);
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
scanner.close();
}
}
✅ 줄바꿈 자동 인식
✅ 파일 입력 처리 시 유용 (new Scanner(new File("file.txt")) 사용 가능)
🚀 5. Stream API 사용 (Java 8 이상)
import java.util.Arrays;
public class SplitExample {
public static void main(String[] args) {
String text = "apple\nbanana\ncherry";
Arrays.stream(text.split("\\R")).forEach(System.out::println);
}
}
✅ 간결하고 가독성 좋음
✅ 여러 개의 줄을 한 번에 처리하기 적합
🎯 최적의 방법 선택
방법 코드 Java 버전 특징
split("\n") | text.split("\n") | 모든 버전 | 🚨 Windows(\r)에서는 문제 발생 가능 |
split("\\R") | text.split("\\R") | Java 8 이상 | ✅ 모든 OS에서 줄바꿈 자동 감지 |
BufferedReader | reader.readLine() | 모든 버전 | ✅ 파일, 큰 데이터 처리 시 추천 |
Scanner | scanner.nextLine() | 모든 버전 | ✅ BufferedReader와 비슷, 파일 처리 가능 |
Stream API | Arrays.stream(text.split("\\R")) | Java 8 이상 | ✅ 간결한 코드, 여러 줄을 한 번에 처리 가능 |
💡 추천
- ✅ 간단한 경우: split("\\R")
- ✅ 파일이나 대용량 문자열: BufferedReader
- ✅ 가독성이 중요할 때: Stream API
이제 줄바꿈 문자열을 쉽게 나눌 수 있습니다! 🚀
#Java #split #BufferedReader #Scanner #StreamAPI #줄바꿈 #문자열 #파일처리 #코딩 #Java8
'Program > JAVA' 카테고리의 다른 글
[JAVA] Java에서 ZIP Bomb 오류 해결 방법 - feat.Excel (1) | 2025.02.14 |
---|