자바 입출력(I/O) - 스트림(Stream) 입출력
앎/web 2014. 2. 24. 15:46 |자바 입출력은 하나의 형식으로 콘솔, 파일, 네트워크 등 모든 입출력에 사용할 수 있다.
입출력 방식이 스트림(Stream)이냐 텍스트(Text)냐의 차이이다.
자바는 입출력을 스트림에 의존한다. 모든 입출력이 1 Byte의 데이터 흐름으로 여겨진다.
형식별 1 Byte 출력
Console
FileOutputStream fos = new FileOutputStream(FileDescriptor.out); BufferedOutputStream bos = new BufferedOutputStream(fos, 1024); DataOutputStream dos = new DataOutputStream(bos); dos.write(.....)
File
File file = new File("파일이름"); FileOutputStream fos = new FileOutputStream(file, false); BufferedOutputStream bos = new BufferedOutputStream(fos, 1024); DataOutputStream dos = new DataOutputStream(bos); dos.write(.....)
Network
Socket soc = new Socket(.....); BufferedOutputStream bos = new BufferedOutputStream(soc.getOutputStream(), 1024); DataOutputStream dos = new DataOutputStream(bos); dos.write(.....)
예제)
import java.io.*; // 입출력을 위해 I/O 패키지 추가 public class IO_Output_Test { public static void main(String[] ar) { try { /* 콘솔에 대한 출력 FileOutputStream fos = new FileOutputStream(FileDescriptor.out); BufferedOutputStream bos = new BufferedOutputStream(fos, 1024); */ // 파일에 대한 출력 File f = new File("./stream_io_test.txt"); FileOutputStream fos = new FileOutputStream(f, true); BufferedOutputStream bos = new BufferedOutputStream(fos, 1024); DataOutputStream dos = new DataOutputStream(bos); byte[] str = new byte[]{(byte)'C', (byte)'o', (byte)'n' , (byte)'s', (byte)'o', (byte)'l', (byte)'e', (byte)' '}; dos.write(str); dos.flush(); dos.close(); } catch (Exception ex) {} } }
형식별 1 Byte 입력
Console
FileInputStream fis = new FileInputStream(FileDescriptor.in); BufferedInputStream bis = new BufferedInputStream(fis, 1024); DataInputStream dis = new DataInputStream(bis); dis.read();
File
File file = new File("파일이름"); FileInputStream fis = new FileInputStream(file, false); BufferedInputStream bis = new BufferedInputStream(fis, 1024); DataInputStream dis = new DataInputStream(bis); dis.read();
Network
Socket soc = new Socket(.....); BufferedInputStream bis = new BufferedInputStream(soc.getInputStream(), 1024); DataInputStream dis = new DataInputStream(bis); dis.read();
예제)
import java.io.*; public class IO_Input_Test { public static void main(String[] arg){ try { /* 콘솔 입력 FileInputStream fis = new FileInputStream(FileDescriptor.in); BufferedInputStream bis = new BufferedInputStream(fis, 1024); DataInputStream dis = new DataInputStream(bis); System.out.print("입력: "); int x = dis.read(); System.out.println("입력된 데이터는 " + (char)x + "이다."); dis.close(); */ // 파일 입력 File f = new File("./stream_io_test.txt"); FileInputStream fis = new FileInputStream(f); BufferedInputStream bis = new BufferedInputStream(fis, 1024); DataInputStream dis = new DataInputStream(bis); while(true) { int x = dis.read(); if (x<0) break; System.out.print((char)x); } dis.close(); } catch (Exception e) {} } }
'앎 > web' 카테고리의 다른 글
자바 입출력(I/O) - 객체(Obejct) 입출력 (0) | 2014.02.24 |
---|---|
자바 입출력(I/O) - 텍스트(Text) 입출력 (0) | 2014.02.24 |
[Java Script] 사용자 정의 객체 & 내장 객체 (0) | 2014.02.18 |
[Java Script] Event & Handler (0) | 2014.02.18 |
CSS (Cascading Style Sheet) - 레이어 (0) | 2014.02.17 |