자바 바이트 흐름 이 파일 입 출력 에서 파일 프로 세 스 분석 으로
4M 그림 을 복사 하 는 예 를 들 면.
한 바이트 씩 읽 기:
ch = (char)System.in.read(); // , int , -1
복사 할 때 한 바이트,한 바이트 의 읽 기,쓰기 가 느 립 니 다.버퍼 에 사용 할 문자 배열 을 설정 하면 복사 과정 이 훨씬 빨 라 집 니 다(읽 을 때마다 바이트 가 많아 집 니 다).읽 기 편 하고 클래스 의 이름 은 중국어 로 설명 합 니 다.
import java.io.*;
public class {
public static void main(String[] args) throws Exception {
FileInputStream in=new FileInputStream("E:\\photo\\IMG.jpg");
//FileOutputStream ,
OutputStream out=new FileOutputStream("E:\\test.jpg");
byte[] buff=new byte[1024];
int b;
long beginTime=System.currentTimeMillis();
while ((b=in.read(buff))!=-1) {
out.write(buff,0,b);
}
long endTime=System.currentTimeMillis();
System.out.println(" : "+(endTime-beginTime)+" ");
in.close();
out.close();
System.out.println(" !");
}
}
여기 설 치 된 바이트 배열 은 1024 바이트 입 니 다.복사 하 는 시간 은 한 바이트 의 복사 보다 훨씬 빠르다.
// FileOutputStream ,
//write(b) b
//write(byte[] b)
//write(byte[] b,int off,int len) write(byteTest,0,len) byteTest 0 len
// 3
바이트 버퍼 흐름BufferedInputStream 과 BufferedOutputStream 으로 FileInputStream 과 FileOutputStream 을 패키지 합 니 다.
읽 기 편 하고 클래스 의 이름 은 중국어 로 설명 합 니 다.
import java.io.*;
public class {
public static void main(String[] args) throws Exception {
BufferedInputStream bis=new BufferedInputStream(new FileInputStream("E:\\photo\\IMG.jpg"));
BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("E:\\test.jpg"));
int len;
long begintime=System.currentTimeMillis();
while((len=bis.read())!=-1) {
bos.write(len);
}
long endtime=System.currentTimeMillis();
System.out.println(" :"+(endtime-begintime)+" ");
bis.close();
bos.close();
System.out.println(" ");
}
}
String 클래스 의 대상 을 바이트 흐름 으로 파일 에 쓸 때
import java.io.*;
public class outFile {
public static void main(String[] args) throws Exception {
FileOutputStream out=new FileOutputStream("example.txt");
String str=" ";
byte[] b=str.getBytes();
for(int i=0;i<b.length;i++) {
out.write(b[i]);
}
out.close();
System.out.println(" ");
}
}
파일 을 추가 로 써 야 할 때
FileOutputStream out=new FileOutputStream("example.txt",true);
전환 흐름BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String x = in.read();
InputSteamReader 와 OutputStreamReader 는 변환 흐름 이 고 전 자 는 바이트 흐름 을 문자 흐름 으로 바 꾸 고 후 자 는 문자 흐름 을 바이트 흐름 으로 바 꿉 니 다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.