투케이2K

361. (java/자바) [간단 소스] File 클래스에 지정 된 특정 파일 InputStream 으로 읽은 후 동적으로 byte array 본문

Java

361. (java/자바) [간단 소스] File 클래스에 지정 된 특정 파일 InputStream 으로 읽은 후 동적으로 byte array

투케이2K 2025. 9. 3. 19:55
728x90

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java

 

[소스 코드]

// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 언어 : Java


- 개발 툴 : AndroidStudio


- 구분 : 유틸 파일 / 간단 소스


- 사전) File 클래스 설명 : 

  >> java.io.File 은 파일 또는 디렉토리(폴더) 경로를 다루기 위한 클래스입니다.

  >> 실제 파일이나 디렉토리 자체를 나타내는 것이 아니라, 경로(Path)와 그에 대한 조작 기능을 제공합니다.

  >> 안드로이드와 일반 자바(Java SE) 모두에서 공통적으로 사용됩니다.

  >> 파일/디렉토리 경로 관리 : 

    - 절대 경로, 상대 경로를 다룰 수 있음

    - 존재 여부 확인 (exists()), 생성 (createNewFile() / mkdir() / mkdirs()), 삭제 (delete()) 가능

  >> 파일 속성 확인 : 

    - 읽기/쓰기 가능 여부 (canRead(), canWrite())

  >> 파일 크기 (length()) : 

    - 마지막 수정 시간 (lastModified())

    - 파일인지, 디렉토리인지 구분 (isFile(), isDirectory())

  >> 파일/디렉토리 탐색 : 

    - 특정 디렉토리 안의 파일/폴더 목록 가져오기 (list(), listFiles())

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------

// [InputStream 에서 전체 바이트 배열로 읽기]
public byte[] readFileToByteArray(File file) throws IOException {

    try (InputStream inputStream = new FileInputStream(file);
         ByteArrayOutputStream buffer = new ByteArrayOutputStream()) {

        byte[] temp = new byte[4096]; // 임시 버퍼
        int bytesRead;
        while ((bytesRead = inputStream.read(temp)) != -1) {
            buffer.write(temp, 0, bytesRead);
        }

        return buffer.toByteArray();
    }

}

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

[안드로이드 getFileExistsList : 특정 파일 폴더 경로에 포함 된 특정 파일 확장자 리스트 확인]

https://blog.naver.com/kkh0977/223991254830


[Android] java.nio.file.AccessDeniedException 저장소 접근 이슈

https://blog.naver.com/kkh0977/223477410219?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------
 
728x90
반응형
Comments