본문 바로가기

JAVA13

[JAVA] 입출력(I/O) Stream - 3 (보조스트림) 용량이 큰 파일을 입출력 할 때는 버퍼를 사용하는 것이 효율적이다. 🌳 바이트 기반의 버퍼 스트림 사용하기 public class BufferedIOTest01 { public static void main(String[] args) { try { FileOutputStream ouptut = new FileOutputStream("d:/d_other/bufferTest.txt"); // 버퍼의 크기가 5인 (보조)버퍼스트림 객체 생성 // => 버퍼의 크기를 지정하지 않으면 기본 크기인 8Kb(8196byte)로 지정된다. BufferedOutputStream bufOutput = new BufferedOutputStream(ouptut, 5); System.out.println("작업 시작"); fo.. 2021. 8. 6.
[JAVA] 입출력(I/O) Stream - 2 1. 입출력(I/O)이란? - 입력(Input)과 출력(Output)을 줄여 부르는 말 - 두 대상 간의 데이터를 주고 받는 것 2. 스트림(stream)이란? - 데이터를 운반(입출력)하는데 사용되는 연결 통로 - 하나의 스트림으로 입출력을동시에 수행할 수 없다. (단방향 통신) - 입출력을 동시에 수행하려면 2개의 스트림이 필요하다. - 바이트 기반 스트림(기본) : 데이터를 바이트 단위로 주고 받는다. - 보조 스트림 : 스트림의 기능을 향상시키거나 새로운 기능을 추가하기 위해 사용한다. 독립적으로 입출력을 수행할 수 없다. - 문자 기반 스트림 : 입출력 단위가 문자(char, 2 byte)인 스트림 문자기반 스트림의 최고 조상이다. 🌳 바이트 기반 스트림 실습 1 (1byte 씩 가져오기) pu.. 2021. 8. 5.
[JAVA] 입출력(I/O) - 1 File 객체 만들기 연습 1. new File(String 파일 또는 경로) - 디렉토리와 디렉토리 사이 또는 디렉토리와 파일 사이의 구분 문자는 '\'를 사용하거나 '/'를 사용할 수 있다. - 윈도우 환경에서는 경로의 대소문자 구분을 하지 않아도 된다. 2. new File(File parent, String child) - 'parent' 디렉토리 안에 있는 'child' 파일을 갖는다. 3. new File(String parent, String child) - 'parent' 디렉토리 안에 있는 'child' 파일을 갖는다. public class FileTest01 { public static void main(String[] args) { // 1. new File(String 파일 또는 .. 2021. 8. 4.
[JAVA] 스레드의 동기화 - 2 스레드의 동기화 - wait(), notify(), notifyAll() - 동기화의 효율을 높이기 위해 wait(), notify()를 사용한다. - Object 클래스에 정의되어 있으며, 동기화 블록 내에서만 사용할 수 있다. 1. wait() 객체의 lock을 풀고 해당 객체의 스레드를 waiting pool에 넣는다. 2. notify() waiting pool에서 대기중인 스레드 중의 하나를 깨운다. 3. notifyAll() waiting pool에서 대기중인 모든 스레드를 깨운다. 🌳 실습 public class ThreadTest20 { public static void main(String[] args) { WorkObject workObj = new WorkObject(); Thread.. 2021. 8. 4.