摘要:
˃281420ViewCode具体实现:1packagebase.readassetsfile;23importandroid.support.v7.app.AppCompatActivity;4importandroid.os.Bundle;5importandroid.util.Log;6importandroid.view.View;7importandroid.widget.EditText;89importjava.io.BufferedReader;10importjava.io.IOException;11importjava.io.InputStream;12importjava.io.InputStreamReader;13importjava.io.OutputStream;14importjava.io.UnsupportedEncodingException;1516publicclassMainActivityextendsAppCompatActivityimplementsView.OnClickListener{17@Override18protectedvoidonCreate{19super.onCreate;20setContentView;21findViewById.setOnClickListener;22findViewById.setOnClickListener;23}24@Override25publicvoidonClick{26switch{27caseR.id.readFile:28readAsset();29break;30caseR.id.readRawFile:31readRaw();32break;33}34}35publicvoidreadAsset(){36try{37//获取文件中的字节38InputStreaminputStream=getResources().getAssets().open;39//将字节转换为字符40InputStreamReaderisReader=newInputStreamReader;41//使用bufferReader去读取内容42BufferedReaderreader=newBufferedReader;43Stringout="";44while((out=reader.readLine())!
1.分别创建assets文件夹和res/raw文件夹:(要注意的raw文件是在res下new,然后创建一个名字为raw的文件夹)
2.创建两个txt文件,复制到asset和raw文件夹中:
3.实现的效果:
4.实现代码:
(1)布局文件:
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com/tools" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:orientation="vertical" 7 tools:context="base.readassetsfile.MainActivity"> 8 <Button 9 android:textSize="20sp" 10 android:text="@string/aasets_txt" 11 android:id="@+id/readFile" 12 android:layout_width="match_parent" 13 android:layout_height="wrap_content" /> 14 <Button 15 android:textSize="20sp" 16 android:text="@string/raw" 17 android:id="@+id/readRawFile" 18 android:layout_width="match_parent" 19 android:layout_height="wrap_content" /> 20 </LinearLayout>
(2)具体实现:
1 packagebase.readassetsfile; 2 3 importandroid.support.v7.app.AppCompatActivity; 4 importandroid.os.Bundle; 5 importandroid.util.Log; 6 importandroid.view.View; 7 importandroid.widget.EditText; 8 9 importjava.io.BufferedReader; 10 importjava.io.IOException; 11 importjava.io.InputStream; 12 importjava.io.InputStreamReader; 13 importjava.io.OutputStream; 14 importjava.io.UnsupportedEncodingException; 15 16 public class MainActivity extends AppCompatActivity implementsView.OnClickListener { 17 @Override 18 protected voidonCreate(Bundle savedInstanceState) { 19 super.onCreate(savedInstanceState); 20 setContentView(R.layout.activity_main); 21 findViewById(R.id.readFile).setOnClickListener(this); 22 findViewById(R.id.readRawFile).setOnClickListener(this); 23 } 24 @Override 25 public voidonClick(View v) { 26 switch(v.getId()){ 27 caseR.id.readFile: 28 readAsset(); 29 break; 30 caseR.id.readRawFile: 31 readRaw(); 32 break; 33 } 34 } 35 public voidreadAsset(){ 36 try{ 37 //获取文件中的字节 38 InputStream inputStream=getResources().getAssets().open("Test.txt"); 39 //将字节转换为字符 40 InputStreamReader isReader=new InputStreamReader(inputStream,"UTF-8"); 41 //使用bufferReader去读取内容 42 BufferedReader reader=newBufferedReader(isReader); 43 String out=""; 44 while((out=reader.readLine())!=null){ 45 Log.d("读取到的文件信息:",out); 46 } 47 } catch(IOException e) { 48 e.printStackTrace(); 49 } 50 } 51 public voidreadRaw(){ 52 try{ 53 //获取文件中的内容 54 InputStream inputStream=getResources().openRawResource(R.raw.test); 55 //将文件中的字节转换为字符 56 InputStreamReader isReader=new InputStreamReader(inputStream,"UTF-8"); 57 //使用bufferReader去读取字符 58 BufferedReader reader=newBufferedReader(isReader); 59 String out=""; 60 try{ 61 while((out=reader.readLine())!=null){ 62 Log.d("从raw文件夹中读取到的数据:",out); 63 } 64 } catch(IOException e) { 65 e.printStackTrace(); 66 } 67 } catch(UnsupportedEncodingException e) { 68 e.printStackTrace(); 69 } 70 } 71 72 }