这是如何从Android工程的res/raw目录下读取文件内容的例子。
1. ReadFile.java
private static final String TAG = "ReadFileActivity";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
Button readButton = (Button) findViewById(R.id.button1);
readButton.setOnClickListener(this);
Button clearButton = (Button) findViewById(R.id.clearbutton);
clearButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
TextView textArea = (TextView) findViewById(R.id.filecontent);
textArea.setText("");
}
});
}
public void onClick(View arg0) {
doReadFromFile(this);
}
private void doReadFromFile(Context context) {
InputStream istream = null;
BufferedReader br = null;
String fileContent = "", line="";
try {
istream = (InputStream) context.getResources().openRawResource(R.raw.mytext);
br = new BufferedReader(new InputStreamReader(istream));
while ( (line = br.readLine()) != null) {
fileContent += line + "/n";
}
br.close();
istream.close();
} catch (Exception e){
Log.e(TAG, "Found exception when reading file: " + e);
}
Log.i(TAG, "file content = " + fileContent );
TextView showContent = (TextView) findViewById(R.id.filecontent);
showContent.setText(fileContent);
}
}
2. Android 工程 res/raw目录下的文件 mytext
hello
1
2
3
3. 运行结果