最近做一个读取SD卡上信息的小程序 调试了半天没弄好 代码发出来 求解 package com.localpiclist;import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;import android.app.ListActivity;
import android.os.Bundle;
import android.widget.SimpleAdapter;import com.model.PicInfo;
import com.utils.FileUtils; public class LocalPicListActivity extends ListActivity {
 
     private List<PicInfo> picInfos = null;       /** Called when the activity is first created. */
       @Override
       public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);        }        protected void onResume(){
        FileUtils fileutils=new FileUtils();
        List<PicInfo> picInfos=fileutils.getPicFiles("pic/");
        List<HashMap<String,String>>list=new ArrayList<HashMap<String,String>>();
        for(Iterator iterator=picInfos.iterator();iterator.hasNext();){
         PicInfo picInfo=(PicInfo) iterator.next();
         HashMap<String,String> map=new HashMap<String,String>();
         map.put("pic_name", picInfo.getPicName());
         map.put("pic_size", picInfo.getPicSize());
             
             list.add(map);
             
           }
         SimpleAdapter simpleAdapter=new SimpleAdapter(this,list,R.layout.picinfo_item,
            new String[]{"pic_name","pic_size"},new int[]{R.id.pic_name,R.id.pic_size});
           setListAdapter(simpleAdapter);
        }
      }
 package com.model;public class PicInfo {
private String id;
private String picName;
private String picSize;
public String getId() {
return id;
}

public void setPicName(String picName) {
this.picName = picName;
} public void setPicSize(String picSize) {
this.picSize = picSize;
} public String getPicName() {
return picName;
} public String getPicSize() {
return picSize;
} public void setId(String id) {
this.id = id;
} public PicInfo() {
super();
}

public String toString() {
return "PicInfo [id=" + id + ", PicName=" + picName + ", PicSize="+ picSize+"]";
} public String getMp3Name() {
return picName;
} public PicInfo(String id, String picName, String picSize ) {
super();
this.id = id;
this.picName =picName;
this.picSize = picSize;

}

}
package com.utils;import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;import android.os.Environment;import com.model.PicInfo;public class FileUtils {
private static final String SDCRoot = null;
private String SDPATH; public String getSDPATH() {
return SDPATH;
}
public FileUtils() {
//得到当前外部存储设备的目录
// /SDCARD
SDPATH = Environment.getExternalStorageDirectory() + "/";
}
/**
 * 在SD卡上创建文件
 * 
 * @throws IOException
 */
public File creatSDFile(String fileName) throws IOException {
File file = new File(SDPATH + fileName);
file.createNewFile();
return file;
}

/**
 * 在SD卡上创建目录
 * 
 * @param dirName
 */
public File creatSDDir(String dirName) {
File dir = new File(SDPATH + dirName);
dir.mkdirs();
return dir;
} /**
 * 判断SD卡上的文件夹是否存在
 */
public boolean isFileExist(String fileName){
File file = new File(SDPATH + fileName);
return file.exists();
}

/**
 * 将一个InputStream里面的数据写入到SD卡中
 */
public File write2SDFromInput(String path,String fileName,InputStream input){
File file = null;
OutputStream output = null;
try{
creatSDDir(path);
file = creatSDFile(path + fileName);
output = new FileOutputStream(file);
byte buffer [] = new byte[4 * 1024];
while((input.read(buffer)) != -1){
output.write(buffer);
}
output.flush();
}
catch(Exception e){
e.printStackTrace();
}
finally{
try{
output.close();
}
catch(Exception e){
e.printStackTrace();
}
}
return file;
}
//读取SDK上文件信息
    public List<PicInfo> getPicFiles(String path){
     List<PicInfo> picInfos=new ArrayList<PicInfo>();
    
     File file=new File(SDCRoot+File.separator+path);
     File[] files=file.listFiles();
     for(int i=0;i<files.length;i++){
     if(files[i].getName().endsWith("jpg")){
    
         PicInfo picInfo=new PicInfo();
     picInfo.setPicName(files[i].getName());
     picInfo.setPicSize(files[i].length()+"");
     picInfos.add(picInfo);
     }
     }
        return picInfos;
        
    }
   }
picinfo_item.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/root"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<view 
    android:id="@+id/pic_name"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
/>
<view 
    android:id="@+id/pic_size"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
/>
</RelativeLayout>
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/hello" />
</LinearLayout>