Java의 PrintWriter 클래스는 무엇입니까?
다른 OutputStream을 사용할 수 있는데 왜 PrintWriter를 사용합니까?
콘솔에서 데이터를 인쇄하는 가장 일반적인 방법은 System.out.print 메서드를 사용하는 것입니다. 그러나 PrintWriter 개체를 사용하여 전역 응용 프로그램을 게시하는 동안 지정된 로캘 (지역 표준) 에 따라 형식을 사용자 지정하는 것이 더 쉽습니다 . 이 게시물의 뒷부분에서 시스템에 따라 Locale을 사용하는 방법을 살펴볼 수 있습니다.PrintWriter 클래스를 사용하는 방법?
PrintWriter 를 사용하려면 java.io.PrintWriter 클래스를 가져와야 합니다 . 그런 다음 개체를 초기화한 후 필요에 따라 콘솔이나 파일에 쓰기 위해 사용할 수 있습니다. 콘솔과 파일에 대해 PrintWriter 클래스 를 초기화하는 두 가지 방법을 살펴보겠습니다 . 여러 다른 생성자가 있습니다. 하지만 여기서는 우선 가장 간단한 것을 소개하겠습니다.PrintWriter를 사용한 콘솔 출력
다음은 콘솔에 텍스트를 인쇄하는 PrintWrtier 객체 입니다 .PrintWriter consoleOutput = new PrintWriter(System.out);
여기서 System.out 개체는 콘솔에 쓰기 위해 생성자에 전달됩니다.
PrintWriter로 파일 출력
다음은 파일에 텍스트를 쓰는 PrintWriter 객체 입니다 .PrintWriter fileOutput = new PrintWriter("FileOutput.txt");
이 생성자는 문자열 입력을 파일 이름으로 사용합니다. 지정된 이름의 파일을 생성하고 그 안에 텍스트 데이터를 씁니다.
PrintWriter 클래스의 메서드
Java PrintWriter 클래스에는 여러 편리한 메서드가 함께 제공됩니다. 입대만으로는 삼키기가 더 어렵습니다. 그럼 하나하나 예를 들어 보겠습니다. 그들은 무엇이며 어떻게 쉽게 사용할 수 있습니까?예 1
이 예제는 콘솔에서 인쇄하기 위해 PrintWriter 개체를 사용하는 방법을 보여줍니다 .import java.io.PrintWriter;
public class PrintWriterDemo {
public static void main(String[] args) throws Exception {
// by importing the java.io.PrintWriter class
PrintWriter consoleOutput = new PrintWriter(System.out);
consoleOutput.printf("Hey there! This is %S.\n", "Lubaina Khan");
consoleOutput.print("Today you're exploring the PrinWriter class with Code Gym. ");
consoleOutput.println("Hope you're having fun!");
consoleOutput.append("Patience is the key when learning new concepts.\n");
consoleOutput.append("It all boils down to practise and persistence. :)");
consoleOutput.flush();
consoleOutput.close();
}
}
산출
이봐! 루바이나 칸입니다. 오늘은 Code Gym으로 PrinWriter 클래스를 살펴보겠습니다. 즐거운 시간 보내시기 바랍니다! 새로운 개념을 배울 때 인내심이 핵심입니다. 모든 것은 연습과 끈기로 귀결됩니다. :)
PrintWriter 클래스의 사용된 메서드
printf(String str, Object arguments);
printf () 메서드는 인쇄할 문자열의 형식을 취합니다. 여기서 자리 표시자 %S 는 문자열 옆에 전달된 대문자 인수로 대체됩니다.
print(String str);
이 메서드는 PrintWriter 개체를 사용하여 전달된 문자열을 인쇄합니다 .
println(String str);
문자열 내용 뒤에 줄 바꿈이 인쇄됩니다.
append(CharSequence cs);
추가에 전달된 문자 시퀀스는 PrintWrtier 개체에 추가됩니다.
flush();
PrintWriter 객체 의 내용을 비웁니다 .
close();
쓰기 스트림을 닫고 할당된 리소스를 해제합니다.
예 2
이 예제는 데이터를 파일에 쓰기 위해 PrintWriter 클래스를 사용하는 것을 보여줍니다 .import java.io.PrintWriter;
import java.util.Date;
import java.util.Locale;
public class PrintWriterDemo {
public static void main(String[] args) throws Exception {
try {
// by importing the java.io.PrintWriter class
PrintWriter fileOutput = new PrintWriter("FileOutput.txt");
fileOutput.printf(Locale.getDefault(), "Hi, What's the day today? %s.\n", new Date());
fileOutput.print("Here's an implementation of PrinWriter class for file writing.\n");
fileOutput.println("Hope Code Gym made it simpler for you to understand.");
fileOutput.append("One step at a time, and off you go!", 0, 35);
fileOutput.flush();
fileOutput.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
산출
안녕하세요, 오늘은 무슨 요일입니까? Sun Jul 25 17:30:21 PKT 2021. 다음은 파일 쓰기를 위한 PrinWriter 클래스 구현입니다. 희망코드짐은 여러분이 이해하기 쉽게 만들었습니다. 한 번에 한 걸음, 그리고 출발!
PrintWriter 클래스의 사용된 메서드
콘솔에 쓰는 것과 구별되는 파일 쓰기에 사용되는 방법에 대해 논의해 봅시다.printf(Locale locale, String str, Object args);
여기에서 필요에 따라 사용할 수 있는 로케일(일관성을 위해 시스템 기본값을 사용함)을 전달할 수 있습니다. 이것은 모든 지역 기반 형식을 준수합니다. 나머지 구현은 이전에 사용된 것과 동일합니다.
append(CharSequence cs, int beginningIndex, int endingIndex);
시작 및 끝 인덱스를 지정하여 전달된 CharSequence 청크를 추가할 수 있습니다 . 여기서는 마지막 인덱스를 사용했습니다. 이를 가지고 놀면서 다른 출력을 볼 수 있습니다.
try{
...
} catch (Exception e){
...
}
try-catch 블록은 파일 쓰기에 반드시 사용됩니다. 시스템에서 파일에 접근하거나(예: 권한 문제) 파일을 생성하는 동안 예외가 발생하지 않도록 하기 위함입니다.