반응형

프로그래밍 정리 298

FileReader와 FileWriter

FileReader- 파일에 저장된 바이트 문자열을 유니코드의 문자열로 변환 FileWriter- 유니코드의 문자열을 바이트 문자열로 변환하여 파일에 저장 ============================================================================================================== import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException; public class FileReaderWriteTest { public static void main(String[] args) throws IO..

InputStreamReader와 OutputStreamWriter

- 바이트 스트림과 문자 스트림 사이의 변환을 담당- InputStreamReader-> 바이트 => 문자- OutputStreamWriter-> 문자 => 바이트 ====================================================================================================== import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter; public class InputStreamReaderTest { public stat..

ByteArrayInputStream와 ByteArrayOutputStream

- 바이트로 구성된 배열을 읽어 들이고, 다시 출력함. =========================================================================================import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException; public class ByteArrayStreamTest { public static void main(String[] args) throws IOException{int i;byte[] arr = { (byte)'j', (byte)'a', (byte)'v', (byte)'a', (byte)'o', (byte)'k..

PushbackInputStream

PushbackInputStream- 데이터의 읽기복구(unread)기능을 제공-> 방금 읽은 바이트를 읽기 전의 바이트 입력 스트림으로 되돌리기가 가능 ======================================================================================import java.io.ByteArrayInputStream;import java.io.IOException;import java.io.PushbackInputStream; public class PushbackInputStreamTest { public static void main(String[] args) throws IOException{String s = "Java.";System.out...

flush()

버퍼가 사용된 아웃풋 스트림은 write 작업을 하더라도 즉시 반영되지 않고 버퍼가 차거나 flush 를 호출하여야 그제서야 반영됩니다.채팅등 즉시 반영되어야 하는 데이터의 경우 버퍼가 찰때까지 기다릴 수 없다. 이럴때는 그냥 flush() 해주면 바로 전송된다. [그냥 말 그대로 [버퍼에 남은 내용을 출력한다.] write 메서드는 flush 메서드와 병행되어야만 출력버퍼에 들어가있는 내용이 모니터로 출력됩니다.

SequenceInputStream

SequenceInputStream- 서로 다른 InputStream을 연결해 주는 역할을 함.- 2개 이상의 InputStream은 배열 형식으로 처리 =================================================================================================import java.io.ByteArrayInputStream;import java.io.FileInputStream;import java.io.SequenceInputStream; public class SequenceInputTest01 { public static void main(String[] args) throws Exception{int bn;byte[] arr = {..

BufferedInputStream와 BufferedOutputStream

BufferedInputStream(버퍼 바이트 입력스트림)- BufferedInputStream 클래스는 입력에 대한 버퍼링(buffering)을 하고 mark 메소드와 reset 메소드를지원하기 위한 기능을 제공- BufferedInputStream 객체가 생성될 때, 버퍼링을 위한 내부 배열 객체가 같이 생성됨.- BufferedInputStream은 입력 스트림으로부터 미리 버퍼에 데이터를 갖다놓게 되므로 데이터를읽기 위한 동작이 보다 효율적. 만약 버퍼링을 하지 않는다면, read 또는 readLine 메소드를 호출할 때마다 파일로부터 바이트를 읽고,이 바이트를 문자로 변환하고, 이 문자를 리턴해 주는 작업을 함으로써 매울 비효율적인 입력 작업을하게 됨.- 바이트 입력 스트림의 현재 위치를 ma..

DataInputStream과 DataOutputStream

자바의 기본 데이터 타입을 Stream에 직접 기록이 가능 import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream; public class DataInputOutputTest {public static void main(String[] args) throws Exception{char c = 'A';char c1 = 'x';String str = "study";String str1 = "java";String file = "C:/Users/sharkmino/Desktop/Music_2.txt";Data..

StreamTokenizer

StringTokenizer- 파일에서 데이터를 읽을 때 토큰 단위로 나누어 읽기가 가능 import java.io.FileInputStream;import java.io.InputStreamReader;import java.io.StreamTokenizer; public class StreamTokenizerTest { public static void main(String[] args) throws Exception{InputStreamReader reader = new InputStreamReader(new FileInputStream("C:/Users/sharkmino/Desktop/Music_2.txt"));StreamTokenizer tokens = new StreamTokenizer(read..

RandomAccessFile

RandomAccessFile- 파일에 대한 임의의 접근을 가능하게 함.- r : 읽기만 가능- w : 쓰기만 가능 import java.io.RandomAccessFile; public class RandomAccessFileTest {static String s = "ILoveJava";static String q = "Javastudy!"; public static void main(String[] args) throws Exception {RandomAccessFile rf = new RandomAccessFile("C:/Users/sharkmino/Desktop/Music_2.txt", "rw");String str = null;rf.writeChars(s);rf.close();rf = new ..

반응형