Java는 파일을 바이트 어레이로 변환합니다
키워드 : 파일, 파일 스트림, 바이트 스트림, 바이트 어레이, 바이너리
초록 : 작업에서 발생하는 최근 요구 사항은 HTTP를 사용하여 이진 데이터를 서버의 해당 인터페이스로 전송하는 것입니다. 이 기사는 Java를 사용하여 파일을 바이트 어레이로 변환하는 몇 가지 지식과 요약을 기록하는 것을 목표로합니다.
FileInputStream
FileInputStream이있는 파일을 읽습니다
FileInputStream은 inputStream의 서브 클래스로 파일에서 정보를 읽는 데 사용됩니다. 생성자는 파일 유형 또는 파일 경로를 나타내는 문자열 유형을 수신합니다.
파일 = 새 파일 ( "FilePath"); fileInputStream fis = new FileInputStream (파일);
BytearRayoutputStream
BytearRayoutputStream을 사용하여 FileInputStream에서 파일 데이터를 읽으십시오.
BytearRayoutputStream은 메모리에서 버퍼를 작성하는 데 사용되며 "스트림"으로 전송 된 모든 데이터는이 버퍼에 배치해야합니다.
BYTEARRAYOUTPUTSTREAM BOS = NEW BYTEARRAYOUTPUTSTREAM (FIS); BYTE [] B = NEW BYTE [1024]; int len = -1; while ((Len = fis.read (b))! = -1) {bos.write (b, 0, len);}참고 : BytearRayoutputStream의 쓰기 방법에는 세 가지 과부하 형 양식이 있습니다.
쓰기 (int b)
지정된 바이트를 작성합니다
쓰기 (byte [] b)
전체 바이트 배열에 쓰기 b
write (byte [] b, int off, int len)
바이트 배열 B에 쓰고 B의 오프 테드 첨자에서 시작하여 Len 바이트를 작성하십시오.
두 번째는 여기서 사용되지 않지만 세 번째는 사용됩니다. 코드에서 버퍼 B로의 판독 수는 일반적으로 1024입니다 (b가 정의 될 때 지정된 길이가 표시되기 때문에). 끝이 읽을 때만 1024 바이트가 충분하지 않을 수 있으며 실제 읽기 바이트 수를 읽습니다. 그러나 버퍼에 글을 쓸 때, 쓰기 수를 지정하지 않으면 Len이 지정되지 않으면 전체 B가 작성됩니다. B에 내용의 일부만 있더라도 1024 바이트가 여전히 작성됩니다. 이렇게하면 결과 바이트 배열이 TobyTearRay를 사용할 때 실제 길이가 아닙니다!
이렇게하면 inputStream에서 ByTearRayoutputStream에 파일 스트림이 씁니다.
BytearRayoutputStream의 TobyTearRay () 메소드를 사용하여 파일의 바이트 배열을 얻으십시오.
바이트 [] filebyte = bos.tobytearray ();
읽어 주셔서 감사합니다. 도움이되기를 바랍니다. 이 사이트를 지원 해주셔서 감사합니다!