JAVA-바이트 흐름 Output Stream(출력 흐름)과 Input Stream(입력 흐름)
12068 단어 JAVASE 기초
파일 바이트 출력 흐름 FileOutputStream
사용 절차:
1.FileOutputStream 대상 을 만 들 고 구조 방법 에서 데 이 터 를 전달 하 는 목적지(문자열 또는 File 대상)
2.FileOutputStream 대상 의 write 를 호출 하여 파일 에 데 이 터 를 기록 합 니 다.
3.흐름 끄 기(자원 방출)
예:파일 에 한 바이트 씩 쓰기
FileOutputStream fos = new FileOutputStream("D:\\IdeaProjects\\javaSE\\IO \\a.txt");
fos.write( 97);
fos.close();
파일 에 여러 바이트 씩 쓰기
첫 번 째 바이트 가 양수(0-127)라면 표시 할 때 ASCII 표를 조회 합 니 다.첫 번 째 숫자 가 마이너스 라면 첫 번 째 바이트 라운드 두 번 째 바이트 가 하나의 중국어 디 스 플레이 를 구성 하고 시스템 기본 메타 GBK 를 조회 합 니 다.
FileOutputStream fos = new FileOutputStream("D:\\IdeaProjects\\javaSE\\IO \\d.txt");
byte[] bytes = {-65, -66, 67, 68};
fos.write(bytes);
fos.close();
바이트 배열 의 일부분 을 기록 합 니 다.
FileOutputStream fos = new FileOutputStream("D:\\IdeaProjects\\javaSE\\IO \\d.txt");
fos.write(bytes,2,2); // 1: ; 2: ; 3:
fos.close();
문자열 을 쓰 는 방법,문자열 을 바이트 그룹 으로 변환 합 니 다.
FileOutputStream fos = new FileOutputStream("D:\\IdeaProjects\\javaSE\\IO \\d.txt");
byte[] bytes1 = " ".getBytes();
System.out.println(Arrays.toString(bytes1));
fos.write(bytes1);
fos.close();
바이트 출력 흐름 의 추가 쓰기 와 줄 바 꾸 기
FileOutputStream fos = new FileOutputStream("D:\\IdeaProjects\\javaSE\\IO \\b.txt",true); // true , false
fos.write("nihao".getBytes());
fos.write("\r
".getBytes()); //windows “\r
” Linux:"/n" mac: "/r"
fos.close();
파일 바이트 입력 흐름:FileInputStream:하 드 디스크 의 데 이 터 를 메모리 에 읽 어 사용 합 니 다.
사용 절차:
1.FileInputStream 대상 을 만 들 고 읽 을 데이터 원본 을 구조 적 으로 연결 합 니 다.
2.FileInputStream 의 read 방법 으로 파일 읽 기
2.관류(자원 방출)
read():한 번 에 한 바이트 읽 고 되 돌려 줍 니 다.파일 의 끝 을 읽 고 되 돌려 줍 니 다-1
FileInputStream fis = new FileInputStream("D:\\IdeaProjects\\javaSE\\IO \\a.txt");
//
System.out.println(fis.read()); // , -1
//
int len = 0;
while ((len = fis.read()) != -1){
System.out.println(len);
}
fis.close();
int read(byte[]b):한 번 에 여러 바이트 읽 기
FileInputStream fis = new FileInputStream("D:\\IdeaProjects\\javaSE\\IO \\a.txt");
byte[] bytes = new byte[1024]; // 1024 ,
int len = 0; // , -1
while ((len = fis.read(bytes)) != -1){
System.out.println(new String(bytes,0,len)); // ( , 0 len)
}
fis.close();