for (int i = 0; i < files.length; i++) {
Map<String, Object> listItem = new HashMap<String, Object>();
if (files[i].isDirectory()) {
listItem.put("icon", R.drawable.folder);
} else {
listItem.put("icon", R.drawable.file);
}
listItem.put("filename", files[i].getName());
listItem.put("filesize", files[i].length());
File myFile = new File(files[i].getName());

long modTime = myFile.lastModified();

listItems.add(listItem);
if(files[i].getName().equals("test1")){
System.out.println("test1文件存在!");

}else{
System.out.println("test1文件不存在!");
                                     
}
}------------------------------------------------------------------------------------
明明 SD 卡里面有test1 文件,但是在循环的时候老报test1文件不存在,请高手指点判断问题。

解决方案 »

  1.   

    是 files包含test1文件?
    files[i].getName() 含有文件后缀名的,不能直接equals(”test1“)肯定是不成功的啊。
      

  2.   

    使用
        1、if(files[i].getName().contains("test1"))      -- 指是否含有test1字样的文件名。
    或 2、if(files[i].getName().equals("test1.jpg"))   -- 把文件名完整得做对比。 
      

  3.   


    ================================
    我上面代码都有问题,之前
    // if(files[i].getName().contains("flash")){
    // System.out.println("flash 文件存在") }
    运行上面代码时,是输出 flash 文件存在的
    随后,我加上
    else{
      System.out.println("flash 文件不存在")}
    运行代码 又输出 flash 文件不存在了,郁闷 代码怎么这样的
      

  4.   

    你是不是把它注释掉了,顺带把else{ 也注释掉了?  贴个完整的呗。。ps: 咋发了这么多贴都未结涅。。
      

  5.   

    String s=files[i].getName();
    String a[]=s.split("\\.");
    if(a[0].equals("test1")){
    System.out.println("test1文件存在!");}
    else{
    System.out.println("test1文件不存在!");
    }http://jun1986.iteye.com/blog/1128082
      

  6.   

    应该使用String类的contains()方法,意指包含