자바 IO 흐름의 버퍼 흐름 사용 상세히 설명
버퍼 흐름은 바이트와 문자 버퍼로 나뉜다
바이트 버퍼링:
BufferedInputStream – 바이트 입력 버퍼
BufferedOutputStream – 바이트 출력 버퍼
문자 버퍼 흐름:
BufferedReader – 문자 입력 버퍼
BufferedWriter – 문자 출력 버퍼
다음은 주로 이 네 가지 완충류의 사용을 소개한다.
하나.바이트 버퍼
1. Buffered OutputStream – 바이트 출력 버퍼
Buffered Output Stream 클래스는 버퍼링 출력을 실현합니다. 이 출력 흐름을 설정하면 응용 프로그램은 모든 바이트를 베이스 출력 흐름에 쓸 수 있고 모든 바이트를 베이스 시스템으로 호출할 필요가 없습니다.
예제 코드:
public static void main(String[] args) {
try {
//
OutputStream out=new FileOutputStream("L:\\test.txt");
//
BufferedOutputStream buf=new BufferedOutputStream(out);
String data=" , ";
buf.write(data.getBytes());//
buf.flush();// ,
//
buf.close();// ,
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
2. BufferedInputStream – 바이트 입력 버퍼 흐름Buffered InputStream은 다른 입력 흐름에 버퍼 기능을 추가합니다. Buffered InputStream을 만들 때 데이터를 버퍼하고 성능을 향상시키는 내부 버퍼 그룹을 만듭니다.
예제 코드:
public static void main(String[] args) {
try {
//
InputStream in=new FileInputStream("L:\\test.txt");
//
BufferedInputStream buf=new BufferedInputStream(in);
byte[]bytes=new byte[1024];
//
int len=-1;
StringBuffer sb=new StringBuffer();
while((len=buf.read(bytes))!=-1)
{
sb.append(new String(bytes,0,len));
}
System.out.println(" :"+sb);
//
buf.close();
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
2.문자 버퍼 흐름1. BufferedWriter – 문자 출력 버퍼
텍스트를 문자 출력 흐름에 쓰고 각 문자를 버퍼링하여 효율적인 쓰기를 제공합니다.버퍼 크기를 지정할 수 있습니다. 일반적인 경우 기본 버퍼 크기만으로도 충분합니다.
예제 코드:
public static void main(String[] args) {
try {
Writer w=new FileWriter("L:\\test.txt");
//
BufferedWriter buf=new BufferedWriter(w);
//
buf.write(" ");
//
buf.flush();
//
buf.close();
w.close();
} catch (IOException e) {
e.printStackTrace();
}
}
2. BufferedReader – 문자 입력 버퍼 흐름문자 입력 흐름에서 정보를 읽고 각 문자를 버퍼링하여 효율적인 읽기를 실현한다.버퍼 크기를 지정할 수 있습니다. 일반적인 경우 기본 버퍼 크기만으로도 충분합니다.기본 크기는 8192입니다.
예제 코드:
public static void main(String[] args) {
try {
Reader r=new FileReader("L:\\test.txt");
//
BufferedReader buf=new BufferedReader(r);
char [] data=new char[512];
//
int len=-1;
StringBuilder sb=new StringBuilder();
while((len=buf.read(data))!=-1)
{
sb.append(new String(data,0,len));
}
System.out.println(" : "+sb);
//
buf.close();
r.close();
} catch (IOException e) {
e.printStackTrace();
}
}
이상은 본문의 전체 내용입니다. 본고의 내용이 여러분의 학습이나 업무에 일정한 도움을 줄 수 있는 동시에 저희를 많이 지지해 주시기 바랍니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.