android,把sd卡中的所以图片信息存到数组中。然后返回一个数组。出问题了,代码如下,帮忙看看在线等
publicstaticLinkedList<String>getExtens(){if(extens==null){extens=newLinkedList<Strin...
public static LinkedList<String> getExtens(){
if(extens == null){
extens = new LinkedList<String>();
extens.add("JPEG");
extens.add("JPG");
extens.add("PNG");
extens.add("GIF");
extens.add("BMP");
}
return extens;
}
public File[] getImageFiles(){
File f = new File("/sdcard/");
if(!f.exists())
{
f.mkdir();
}
else{}
File files[] = f.listFiles();
File files1[] = null;
for(int i=0;i<files.length;i++)
{
String fName=files[i].getName();
if(fName.indexOf(".")>-1){
String end = fName.substring(fName.lastIndexOf(".") + 1, fName.length()).toUpperCase();
if(getExtens().contains(end)){
int b=0;
files1[b]=files[i];
b++;
}
else break;
}
}
return files1;
} 展开
if(extens == null){
extens = new LinkedList<String>();
extens.add("JPEG");
extens.add("JPG");
extens.add("PNG");
extens.add("GIF");
extens.add("BMP");
}
return extens;
}
public File[] getImageFiles(){
File f = new File("/sdcard/");
if(!f.exists())
{
f.mkdir();
}
else{}
File files[] = f.listFiles();
File files1[] = null;
for(int i=0;i<files.length;i++)
{
String fName=files[i].getName();
if(fName.indexOf(".")>-1){
String end = fName.substring(fName.lastIndexOf(".") + 1, fName.length()).toUpperCase();
if(getExtens().contains(end)){
int b=0;
files1[b]=files[i];
b++;
}
else break;
}
}
return files1;
} 展开
2个回答
展开全部
粗看一下,你的代码有如下问题:
1.File f = new File("/sdcard/");
这里是否应该改为File f = new File("/sdcard");加一个"/"就不是sdcard这个当前目录了;
别外,目录是否要递归查找图片文件?
2.File files1[] = null;
这里的files1[]没有初始化,你在后面就直接使用了files1[b]=files[i];这里肯定报错;
动态数组可以用ArrayList
修改这两处后你的代码应该就没有问题了
1.File f = new File("/sdcard/");
这里是否应该改为File f = new File("/sdcard");加一个"/"就不是sdcard这个当前目录了;
别外,目录是否要递归查找图片文件?
2.File files1[] = null;
这里的files1[]没有初始化,你在后面就直接使用了files1[b]=files[i];这里肯定报错;
动态数组可以用ArrayList
修改这两处后你的代码应该就没有问题了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询