투케이2K

458. (android/java) [유틸 파일] innerImageFileWrite : 내부 저장소에 이미지 (image) 파일 쓰기 본문

Android

458. (android/java) [유틸 파일] innerImageFileWrite : 내부 저장소에 이미지 (image) 파일 쓰기

투케이2K 2023. 1. 14. 15:42
반응형

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[소스 코드]

    // TODO [SEARCH FAST] : [RETURN] innerImageFileWrite : 내부 저장소 이미지 파일 쓰기
    public static boolean innerImageFileWrite(Activity activity, String fileName, byte[] data) {

        /**
         * // -----------------------------------------
         * [innerImageFileWrite 메소드 설명]
         * // -----------------------------------------
         * 1. innerImageFileWrite : 내부 저장소 이미지 파일 쓰기
         * // -----------------------------------------
         * 2. 호출 방식 :
         *
         *   C_App.innerImageFileWrite(A_Main.this, "test.png", byteArray);
         *
         * // -----------------------------------------
         * 3. 리턴 데이터 : 정상적으로 저장한 경우 true / 아니면 false
         * // -----------------------------------------
         * 4. 참고 : 내부 저장소는 퍼미션 권한 없이 읽기, 쓰기 가능 / 앱 삭제 시 저장된 데이터 삭제
         * // -----------------------------------------
         * */


        // [리턴 값 선언]
        boolean returnData = false;
        String filePath = "";


        // [로직 처리 실시]
        try {

            if (C_Util.stringNotNull(fileName) == true && fileName.endsWith("png") == true && data != null && data.length>0){

                // [File 선언 실시]
                File file = new File(activity.getFilesDir(), fileName);

                // [파일 저장 실시]
                FileOutputStream fos = new FileOutputStream(file);
                fos.write(data);

                // [스트림 닫기]
                fos.close();

                // [리턴 데이터 삽입]
                returnData = true;

                // [파일 저장 경로 확인]
                filePath = file.getAbsolutePath();
            }

        } catch (Exception e) {
            e.printStackTrace();
        }


        // [로그 출력 실시]
        ///*
        Log.i("---","---");
        Log.d("//===========//","================================================");
        Log.i("","\n"+"[C_App >> innerImageFileWrite() :: 내부 저장소 이미지 파일 쓰기]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[INPUT [FILE NAME] :: "+String.valueOf(fileName)+"]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[INPUT [DATA] :: "+String.valueOf(Arrays.toString(data))+"]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[FILE SAVE :: "+String.valueOf(filePath)+"]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[RETURN :: "+String.valueOf(returnData)+"]");
        Log.d("//===========//","================================================");
        Log.i("---","---");
        // */


        // [리턴 반환 실시]
        return returnData;
    }
 

[결과 출력]

 

 

반응형
Comments