안녕하세요 알통몬입니다. 공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
기본 타입 입출력 보조 스트림
: 바이트 스트림은 바이트 단위로 출력하기 때문에 기본 데이터 단위로 입출력이 불가능합니다.
DataInputStream 과 DataOutputStream 보조 스트림을 연결하면 기본 데이터 타입으로 입출력이 가능합니다.
DataInputStream dataInputStream = new DataInputStream(바이트 입력 스트림);
DataOutputStream dataOutputStream = new DataOutputStream(바이트 출력 스트림);
** 데이터 타입의 크기는 모두 다르기 때문에 DataOutputStream으로 출력한 데이터를
DataInputStream으로 읽어올 경우에는 출력한 순서와 동일한 순서로 읽어야 합니다.
예제)
import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; public class Example { public static void main(String[] args) throws Exception { FileOutputStream fileOutputStream = new FileOutputStream("C:/Temp/primitive.dat"); DataOutputStream dataOutputStream = new DataOutputStream(fileOutputStream);
dataOutputStream.writeUTF("티스토리"); dataOutputStream.writeDouble(11.5); dataOutputStream.writeInt(3);
dataOutputStream.writeUTF("알통몬"); dataOutputStream.writeDouble(12.3); dataOutputStream.writeInt(4);
dataOutputStream.flush(); dataOutputStream.close(); fileOutputStream.close();
FileInputStream fileInputStream = new FileInputStream("C:/Temp/primitive.dat"); DataInputStream dataInputStream = new DataInputStream(fileInputStream);
for(int i=0; i<2; i++) { String name = dataInputStream.readUTF(); double score = dataInputStream.readDouble(); int order = dataInputStream.readInt(); System.out.println(name + " : " + score + " : " + order); }
dataInputStream.close(); fileInputStream.close(); } } |
프린터 보조 스트림
: PrintStream 과 PrintWriter
프린터와 유사하게 출력하는 print() 와 println()을 가지는 보조 스트림입니다.
PrintStream 과 PrintWriter은 거의 같은 기능을 가지는데요.
PrintStream은 바이트 출력 스트림과 연결하고, PrintWriter은 문자 출력 스트림과 연결합니다.
생성방법
PrintStream ps = new PrintStream(바이트출력스트림);
PrintWriter pw = new PrintWriter(문자출력스트림);
예제)
import java.io.FileOutputStream; import java.io.PrintStream; public class Example { public static void main(String[] args) throws Exception { FileOutputStream fileOutputStream = new FileOutputStream("C:/Temp/file.txt"); PrintStream printStream = new PrintStream(fileOutputStream);
printStream.println("[프린터 보조 스트림]"); printStream.print("이건 마치 "); printStream.println("프린터가 출력하듯이 "); printStream.println("데이터를 출력하네.");
printStream.flush(); printStream.close(); fileOutputStream.close(); } } printf() 도 제공해서 형식화된 문자열을 출력할 수 있도록 해줍니다. 첫 번째 매개값은 형식화된 문자열을 주고 두 번째 매개값은 형식화된 문자열에 들어갈 값을 주면 됩니다. import java.util.Date; public class Example2 { public static void main(String[] args) { System.out.printf("가격:%d원\n", 111); System.out.printf("가격:%6d원\n", 111); System.out.printf("가격:%-6d원\n", 111); System.out.printf("가격:%06d원\n", 111);
System.out.printf("반지름이 %d인 원의 넓이는 => %10.2f\n", 10, Math.PI*10*10);
System.out.printf("%6d | %-10s | %10s\n", 1, "티스토리", "블로그");
Date now = new Date(); System.out.printf("오늘은 %tY년 %tm월 %td일\n", now, now, now); System.out.printf("오늘은 %1$tY년 %1$tm월 %1$td일\n", now); System.out.printf("현재 %1$tH시 %1$tM분 %1$tS초\n", now); } } |
이상입니다.
다음 포스팅에서는 객체 입출력 보조 스트림에 대해 공부하겠습니다.
'자바' 카테고리의 다른 글
자바 네트워크 - 서버와 클라이언트, IP 주소와 포트, InetAddress (0) | 2017.04.11 |
---|---|
자바 객체 입출력 보조 스트림 - ObjectInputStream , ObjectOutputStream (1) | 2017.04.10 |
자바 성능 향상 보조 스트림 - BufferedInputStream, BufferedReader / BufferedOutputStream, BufferedWriter (0) | 2017.04.10 |
자바 보조 스트림 / 문자 변환 보조 스트림 InputStreamReader / OutputStreamWriter (0) | 2017.04.07 |
자바 파일 입출력 Java FileReader / FileWriter (0) | 2017.04.06 |