투케이2K

156. (kotlin/코틀린) [유틸 파일] assetsToTextRead : assets 폴더에 저장된 텍스트 파일 읽기 본문

Kotlin

156. (kotlin/코틀린) [유틸 파일] assetsToTextRead : assets 폴더에 저장된 텍스트 파일 읽기

투케이2K 2023. 1. 4. 06:40

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

        // TODO [SEARCH FAST] : [RETURN] assetsToTextRead : assets 폴더에 저장된 텍스트 파일 읽기
        fun assetsToTextRead(mContext: Context, fileName: String): String {

            /**
             * // -----------------------------------------
             * [assetsToTextRead 메소드 설명]
             * // -----------------------------------------
             * 1. assets 폴더에 저장된 텍스트 파일 읽기
             * // -----------------------------------------
             * 2. 호출 방식 :
             *
             * C_App.assetsToTextRead(A_Main@this, "test.txt")
             *
             * // -----------------------------------------
             * 3. 리턴 데이터 :
             *
             * 텍스트 파일을 읽은 값
             * // -----------------------------------------
             */


            // [리턴 값 선언]
            var returnData = ""


            // [로직 처리 실시]
            try {
                if (C_Util.stringNotNull(fileName) === true) {

                    // [AssetManager 객체 생성]
                    val assetManager = mContext.resources.assets

                    // [InputStream 으로 파일 읽음]
                    val inputStream = assetManager.open(fileName, AssetManager.ACCESS_BUFFER)

                    // [BufferedReader 사용해 스트림 읽기]
                    val reader = BufferedReader(InputStreamReader(inputStream))

                    // [while 문을 사용해 내용 읽기]
                    val result = ""
                    var line = ""
                    while (reader.readLine().also { line = it } != null) {
                        returnData += line
                    }

                    // [스트림 닫기]
                    reader.close()
                    inputStream.close()
                }
            } catch (e: Exception) {
                e.printStackTrace()
            }


            // [로그 출력 실시]
            ///*
            Log.i("---","---")
            Log.d("//===========//","================================================")
            Log.i("","\n"+"[C_App >> assetsToTextRead() :: assets 폴더에 저장된 텍스트 파일 읽기]")
            Log.i("","\n"+"--------------------------------")
            Log.i("","\n"+"[INPUT :: "+fileName.toString()+"]")
            Log.i("","\n"+"--------------------------------")
            Log.i("","\n"+"[RETURN :: "+returnData.toString()+"]")
            Log.d("//===========//","================================================")
            Log.i("---","---")
            // */


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

[결과 출력]

 

 
반응형
Comments