JAVA-바이트 흐름 Output Stream(출력 흐름)과 Input Stream(입력 흐름)

12068 단어 JAVASE 기초
JAVA-바이트 흐름 Output Stream(출력 흐름)과 Input Stream(입력 흐름)
파일 바이트 출력 흐름 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();

좋은 웹페이지 즐겨찾기