不知道如何读取到文件的内容,希望会的人帮帮忙,教个方法,解决一下
解决方案 »
- 如何让自己注册的BroadcastReceiver可以一直监听
- 新人发帖
- 接收不到服务器返回的数据
- Android上的FireFox的“选择文件”的对话框是怎么实现的?
- 怎样下载Android源代码
- UriMatcher.addURI中的/#/*解释
- 请教,哪位大神做过IKM ANDROID APPLICATION PROGRAMMING
- 新手请教!!Activity跳转问题
- android 写了一个类,但这个类没有继承activity,我想在这个类中用到toast信息提示
- 求指点:地图上打点怎么实现的?
- 点击应用启动问题
- 请教个问题,Service启动了一个线程,如何在这个线程中执行完后停止这个Service?
import java.util.ArrayList;
import java.util.List;import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;public class TxtList extends ListActivity {
private List<File> txtList = new ArrayList<File>();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
File sdCardPath = Environment.getExternalStorageDirectory();
GetFiles( sdCardPath );
}
/**
* ��ȡ�ļ��б�
* @param filePath
*/
public void GetFiles( File filePath ){
int i;
File[] files = filePath.listFiles();
if(files != null){
for(i=0;i<files.length;i++){
if(files[i].isDirectory()){
GetFiles( files[i] );
}
else if(files[i].getName().toLowerCase().endsWith(".txt")){
txtList.add(files[i]);
}
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,FileToStr(txtList));
setListAdapter(adapter);
}
}
/**
* ���ļ��б�ת�����ַ�
* @param f
* @return
*/
public String[] FileToStr( List<File> f ){
ArrayList<String> listStr = new ArrayList<String>();
int i;
for (i = 0; i < f.size(); i++) {
String nameString = f.get(i).getName();
listStr.add(nameString);
}
return listStr.toArray(new String[0]);
}
/**
* ��List���е��ʱ������
*/
protected void onListItemClick(ListView l, View v, int position, long id) {
File file = txtList.get(position);
Intent i = new Intent(TxtList.this,TxtView.class);
i.putExtra("file",file.toString());
startActivity(i);
}
}
package org.me.hcreader;import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.http.util.EncodingUtils;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;public class TxtView extends Activity {
private String fileName;
private final int menuID=Menu.FIRST;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.txtview);
fileName = this.getIntent().getStringExtra("file");
//if(isUTF8(fileName))
// updateView( fileName,"UTF8" );
//else
updateView(fileName,"GB2312" );
}
private boolean isUTF8(String path) {
try {
if((new Filecharset().guestFileEncoding(path)) == "UTF-8")
return true;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
public void updateView( String fileName,String encoding ){
byte[] data = openFile(fileName);
String display = EncodingUtils.getString(data, encoding);
TextView tv = (TextView)findViewById(R.id.txtView);
tv.setText(display);
}
public byte[] openFile(String fileName){
try {
File file = new File(fileName);
FileInputStream in = new FileInputStream(file);
int length = (int)file.length();
byte[] temp = new byte[length];
in.read(temp, 0, length);
return temp;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add(0, menuID, Menu.NONE, "����");
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case menuID:
new Thread(){
@Override
public void run(){
Intent i = new Intent(TxtView.this,TxtList.class );
startActivity(i);
}
}.start();
break;
}
return false;
}
}这是一个读文件的例子