android 파일 작업―assets 와 raw 파일 의 내용 읽 기
assets 폴 더 안의 파일 은 모두 원본 파일 형식 을 유지 하고 있 으 며,AssetManager 로 바이트 흐름 으로 파일 을 읽 어야 합 니 다.
1.먼저 Activity 에서 getAssets()를 호출 하여 AssetManager 인용 을 가 져 옵 니 다.
2.AssetManager 의 open(String fileName,int accessMode)방법 으로 읽 을 파일 과 접근 모드 를 지정 하면 입력 스 트림 을 얻 을 수 있 습 니 다.
3.그 다음 에 open file 이 있 는 input Stream 으로 파일 을 읽 고 읽 은 후에 input Stream.close()를 기억 합 니 다.
4.AssetManager.close()를 호출 하여 AssetManager 를 닫 습 니 다.
실현 절차:
1.assets 폴 더 와 res/raw 폴 더 를 각각 만 듭 니 다.(주의해 야 할 raw 파일 은 res 아래 new 이 고 raw 라 는 폴 더 를 만 듭 니 다)
2.txt 파일 두 개 를 만 들 고 asset 과 raw 폴 더 에 복사 합 니 다.
3.실 현 된 효과:
4.구현 코드:
(1)레이아웃 파일:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="base.readassetsfile.MainActivity">
<Button
android:textSize="20sp"
android:text="@string/aasets_txt"
android:id="@+id/readFile"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:textSize="20sp"
android:text="@string/raw"
android:id="@+id/readRawFile"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
(2)구체 적 인 실현:
package base.readassetsfile;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.readFile).setOnClickListener(this);
findViewById(R.id.readRawFile).setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.readFile:
readAsset();
break;
case R.id.readRawFile:
readRaw();
break;
}
}
public void readAsset(){
try {
//
InputStream inputStream=getResources().getAssets().open("Test.txt");
//
InputStreamReader isReader=new InputStreamReader(inputStream,"UTF-8");
// bufferReader
BufferedReader reader=new BufferedReader(isReader);
String out="";
while((out=reader.readLine())!=null){
Log.d(" :",out);
}
} catch (IOException e) {
e.printStackTrace();
}
}
public void readRaw(){
try {
//
InputStream inputStream=getResources().openRawResource(R.raw.test);
//
InputStreamReader isReader=new InputStreamReader(inputStream,"UTF-8");
// bufferReader
BufferedReader reader=new BufferedReader(isReader);
String out="";
try {
while((out=reader.readLine())!=null){
Log.d(" raw :",out);
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.