Buffered input/output stream - 필터 클래스 중에 버퍼(queue구조로 되어 있는 임시 저장소)를 제공하는 클래스. app안에 기본으로 2mb짜리 버퍼를 생성해서 버퍼가 file을 한번에 받아준 후 1byte씩 메모리에 전달. 이동 경로가 단축되어 시간값이 현저히 줄어든다.
//BufferedInputString 활용
package lec08.fileio04.second.stream.h;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
public class BufferedInputTest {
public static void main(String[] args) {
String strPath = "C:\\~~~.txt";
BufferedInputStream bufferedInputStream = null;
try {
bufferedInputStream = new BufferedInputStream(new FileInputStream(strPath));
byte[] bytes = new byte[30];
while (true) {
int read = bufferedInputStream.read(bytes);
if (read == -1) {
break;
}
String getData = new String(bytes, 0, read);
System.out.print(getData);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (bufferedInputStream != null) {
bufferedInputStream.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
package lec08.fileio04.second.stream.i;
import java.awt.Desktop;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.File;
public class BufferedOutTest {
public static void main(String[] args) {
String strPath = "C:\\~~~.txt";
BufferedOutputStream bufferedOutputStream = null;
try {
bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(strPath));
bufferedOutputStream.write('s');
bufferedOutputStream.write('s');
bufferedOutputStream.write('s');
bufferedOutputStream.write('s');
bufferedOutputStream.write(' ');
bufferedOutputStream.write('s');
bufferedOutputStream.write('s');
bufferedOutputStream.write('s');
bufferedOutputStream.write('s');
bufferedOutputStream.write('s');
bufferedOutputStream.write('s');
bufferedOutputStream.write('\n');
bufferedOutputStream.write("Difference 다르다".getBytes());
Desktop.getDesktop().open(new File(strPath));
} catch(Exception e) {
e.printStackTrace();
} finally {
try {
if (bufferedOutputStream != null) {
bufferedOutputStream.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
'Java > stream' 카테고리의 다른 글
Java Stream - BufferedWriter (0) | 2022.11.13 |
---|---|
Java Stream - BufferedReader (0) | 2022.11.13 |
Java Stream - FileWriter (0) | 2022.11.13 |
Java Stream - FileReader (0) | 2022.11.13 |
Java Stream - FileInputStream & FileOutPutStream (0) | 2022.11.13 |