출처: https://3months.tistory.com/307 [Deep Play]

안드로이드/연습

[Android] raw 폴더 파일 처리

코딩하는 랄뚜기 2021. 8. 24. 15:17

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <Button
        android:id="@+id/btnRead"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:backgroundTint="#50000000"
        android:textColor="@color/black"
        android:text="/res/raw에서 파일 읽기" />
    <EditText
        android:id="@+id/edtRaw"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:lines="10"/>
</LinearLayout>

MainActivity.java

package com.example.toast;

import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.Display;
import android.view.Gravity;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import java.io.IOException;
import java.io.InputStream;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btnRead;
        final EditText edtRaw;
        btnRead = (Button) findViewById(R.id.btnRead);
        edtRaw = (EditText) findViewById(R.id.edtRaw);

        btnRead.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v){
                try{
                    // /res/raw 리소스를 읽기용으로 연다.
                    InputStream inputS = getResources().openRawResource(R.raw.raw_test);
                    //InputStream.available() 메소드는 입력 스트림에서 읽을 수 있는 바이트 수를 반환한다.
                    byte[] txt = new byte[inputS.available()];
                    inputS.read(txt);
                    edtRaw.setText(new String(txt));
                    inputS.close();
                }catch(IOException e){}
            }
        });
    }
}

'안드로이드 > 연습' 카테고리의 다른 글

[Android] 간단 그림판  (0) 2021.08.26
[Android] Graphic  (0) 2021.08.26
[Android] 간단 일기장  (0) 2021.08.24
[Android] 파일 처리의 기본  (0) 2021.08.24
[Android] 사용자 정보 입력  (0) 2021.08.23