如何利用android訪問assets下的檔案或資料夾
package com.bn.pp7;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Sample2_7_Activity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) { //重寫onCreate方法
super.onCreate(savedInstanceState);
setContentView(R.layout.main); //設定layout
Button ok=(Button)this.findViewById(R.id.Button01); //獲取開啟Button
ok.setOnClickListener //為開啟按鈕新增監聽器
( new OnClickListener()
{ public void onClick(View v)
{
EditText et1=(EditText)findViewById(R.id.EditText01);
//呼叫loadText方法獲取對應檔名的檔案
String nr=loadText(et1.getText().toString().trim());
EditText et2=(EditText)findViewById(R.id.EditText02);
//設定顯示框內容
et2.setText(nr);
}});}
public String loadText(String name) //載入assets檔案方法
{ String nr=null; //內容字串
try
{ //開啟對應名稱檔案的輸入流
InputStream is=this.getResources().getAssets().open(name);
/*
int ch=0;
//建立位元組陣列輸出流
ByteArrayOutputStream baos=new ByteArrayOutputStream();
while((ch=is.read())!=-1)
{ baos.write(ch); } //讀取檔案
byte[] buff=baos.toByteArray(); //轉化為位元組陣列
baos.close(); //關閉輸入輸出流
is.close(); //關閉輸入輸出流
nr=new String(buff,"utf-8"); //轉碼生產新字串
nr=nr.replaceAll("\\r\\n","\n
*/
} catch (Exception e)
{ //沒有找到對應檔案,進行提示
Toast.makeText(getBaseContext(), "對不起,沒有找到指定檔案。", Toast.LENGTH_LONG).show(); }
return nr; //返回內容字串
}}