일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- scanner
- EFCore
- .net
- 명시적외래키
- 라도무스dvd
- c#
- 에스가든스냅
- Config
- ViewModel
- Store
- extjs
- 대전본식영상
- dbContext
- 상속
- lazy loading
- ORM
- LINQ
- React
- mac
- error
- c#코딩의기술실전편
- Request
- extraParams
- vscode
- JavaScript
- minimalAPI
- 코드프로그래머스
- 스냅잘찍음
- JSON
- intellij
- Today
- Total
ejyoo's 개발 노트
FileIO - 바이트 배열을 읽는 ByteArrayInputStream, ByteArrayOutputStream 본문
FileIO - 바이트 배열을 읽는 ByteArrayInputStream, ByteArrayOutputStream
ejyoovV 2021. 3. 22. 14:33이번 예제는 바이트 기반으로 된 배열을 다른 배열로 복사하는 예제입니다.
💡 ByteArrayInputStream / ByteArrayOutputStream
ByteArrayInputStream은 바이트 기반으로 된 배열을 읽을때 사용합니다.
반대로 ByteArrayOutputStream는 바이트 기반으로 된 배열을 버퍼에 저장할때 사용합니다.
💡 바이트 배열 생성
2개의 바이트 배열을 준비합니다.
inSrc는 바이트 값이 들어있는 배열이고 outSrc는 inSrc에 있는 바이트 값을 넣어줄 변수입니다.
💡 바이트 배열 스트림 선언 및 객체 생성
바이트 배열을 읽어올 스트림 선언 및 객체를 생성합니다.
💡 바이트 배열로 된 버퍼 저장소를 생성합니다.
💡 바이트 배열에서 읽어온 자료를 저장할 변수를 선언합니다.
💡 자료 읽기와 쓰기
ByteArrayInputStream에는 read()라는 메서드를 제공합니다.
read() 메서드는 byte단위로 자료를 읽어와서 int 형으로 반환합니다.
더이상 읽어올 자료가 없으면 -1을 반환합니다.
ByteArrayOutputStream에는 write()라는 메서드를 제공합니다.
baos에 버퍼를 하나씩 담는 역할을 합니다.
💡 복사해온 자료를 byte배열로 변환하기
ByteArrayOutputStream에는 toByteArray() 라는 메서드를 제공합니다.
toByteArray() 메서드는 write된 스트림 값들을 배열로 변환해서 반환하는 메서드 입니다.
이 메서드를 사용하여 outSrc 변수에 출력된 스트림 값을 배열로 변환해서 담습니다.
💡 원본 자료와 복사한 자료를 출력
System.out.println을 사용해 원본자료와 복사한 자료를 출력합니다.
💡 사용한 자료를 반납합니다.
'BackEnd > Java' 카테고리의 다른 글
ArrayList를 int 배열로 변환하는 방법 (0) | 2021.03.26 |
---|---|
FileIO - ByteArrayInputStream, ByteArrayOutputStream 읽은 자료 만큼 출력하기 (0) | 2021.03.22 |
프로젝트 기본 Build Path 설정 방법 (0) | 2021.03.21 |
JAVA IO - File Class 2 - 파일 존재 여부에 따라 새로 생성하기 / 윈도우 cmd - dir 명령어 구현하기(작성중) (0) | 2021.03.20 |
JAVA IO - File Class1 - 리소스 데이터 가져오기 / 디렉토리 생성하기 (0) | 2021.03.20 |