public class SearchPicture{
public static void main(String args[]){
File f = new File("E:");
tree(f);
}

public static void tree(File f){
String[] s = null;
File[] trees = f.listFiles();
for(int i=0;i<trees.length;i++)
{
    if(trees[i].isDirectory()){
    tree(trees[i]);
}     
    s = trees[i].getName().split("\\.");
        if(s[s.length-1].equals("jpg")) {
     System.out.println(trees[i].getAbsolutePath());
     }
}
}
}
出现了空指针
怎么解决

解决方案 »

  1.   

    断点 -> debug -> 问题解决
      

  2.   

    public class SearchPicture{
    public static void main(String args[]){
    File f = new File("E:");
    tree(f);
    }public static void tree(File f){
    String[] s = null;
    File[] trees = f.listFiles();
    for(int i=0;i<trees.length;i++)
    {
    if(trees[i].isDirectory()){
    tree(trees[i]);

    s = trees[i].getName().split("\\.");
      if(s[s.length-1].equals("jpg")) {//应该可能是这里报错了nullPointException吧!if not please show me locationSystem.out.println(trees[i].getAbsolutePath());
    }
    }
    }

      

  3.   

    public static void tree(File f){
    if(f.getName().equals("System Volume Information"))
    return;
     //加这句,这个文件夹是无法访问的。
    String[] s = null;
    File[] trees = f.listFiles();
    for(int i=0;i<trees.length;i++)
    {
    if(trees[i].isDirectory()){
    tree(trees[i]);
    }  
    s = trees[i].getName().split("\\.");
      if(s[s.length-1].equals("jpg")) {//应该可能是这里报错了nullPointException吧!if not please show me locationSystem.out.println(trees[i].getAbsolutePath());
    }
    }
    在tree方法前面加这句话。
      

  4.   

    在 for(int i=0;i<trees.length;i++) 这一行报的错。
    trees 为 null 至于为什么,你看一下你的 E 盘里面那些文件夹你没有权限访问就知道了。s = trees[i].getName().split("\\.");
      if(s[s.length-1].equals("jpg")) {这算什么代码。。为什么不这样判断 if (trees[i].getName().endsWith("jpg"))  自己去比一下执行速度那个快吧。