본문 바로가기
Android/Kotlin App

[Kotlin App] 파일 처리

by 태옹 2021. 5. 11.
  1. 내장 메모리에 파일 쓰기/읽기
  2. raw파일 읽어오기
  3. SD카드에 디렉터리 생성/삭제, 파일 쓰기/읽기
  4. 시스템 폴더의 폴더/파일 목록 확인하기

 

 

1-1. 내장 메모리에 파일 쓰기 : openFileOutput("파일명",모드)

var outFs = openFileOutput("파일명", Context.MODE_PRIVATE)
var str = "파일 내용"
outFs.write(str.toByteArray())
outFs.close()

 

1-2. 내장 메모리에 파일 /읽기 : openFileInput("파일명")

try {
	var inFs = openFileInput("파일명")
	var txt = ByteArray(inFs.available())   // 읽어들일 파일의 크기만큼 메모리 할당
	inFs.read(txt)                          // 바이트단위로 파일내용 읽기
	inFs.close()
	var str = txt.toString(Charsets.UTF_8)       //읽어들인 바이트를 utf-8로 문자화
	Toast.makeText(this, str, Toast.LENGTH_SHORT).show()	//토스트 메시지로 내용 보여주기
}catch (e : IOException){
	Toast.makeText(this, "파일 없음", Toast.LENGTH_SHORT).show()
}

 

 

2. raw파일 읽어오기(읽기 전용) : resources.openRawResource(R.raw.raw파일명)

var inFs = resources.openRawResource(R.raw.row파일명)
var txt = ByteArray(inFs.available())
inFs.read(txt)
inFs.close()
Toast.makeText(this, txt.toString(Charsets.UTF_8),Toast.LENGTH_SHORT).show()

 

 

3. SD카드 사용 코드 : Environment.getExternalStorageDirectory().absolutePath

var sdPath = Environment.getExternalStorageDirectory().absolutePath		//sd카드 절대 경로
var myDirPath = File("$sdPath/폴더명")	//접근하려는 폴더 경로

 

 

3-1. SD카드에 디렉터리 생성 : mkdir()

myDirPath.mkdir()

 

3-2. SD카드에 디렉터리 삭제 : delete()

myDirPath.delete()

 

3-3. SD카드에 파일 쓰기

 

 

3-4. SD카드에 파일 읽기

 

 

4. 시스템 폴더의 폴더/파일 목록 확인하기 : Environment.getRootDirectory().listFiles()

var sysFiles = Environment.getRootDirectory().listFiles()
for(file in sysFiles){
	if(file.isDirectory)
		editText.setText(editText.text.toString() + "/n"+"<폴더>$file")
	else
		editText.setText(editText.text.toString() + "/n"+"<파일>$file")
}

댓글