此代码检查mp3歌曲(使用递归)使我的浏览器非常慢 请建议我一个让它更快的方法
public static boolean getMp3s1(File dir){
int h=0;
File[] listFile = dir.listFiles();
if(listFile!=null)
for( int i=0; i< listFile.length; i++)
{
if(listFile[i].isDirectory()==true)
getMp3s1(listFile[i]);
else
{
if(listFile[i].getName().endsWith(".mp3")==true||listFile[i].getName().endsWith(".MP3")==true)
h=1;
}
}
if(h==1){
h=0;
return true;
}
else
return false;
}
答案 0 :(得分:1)
在h = 1之后尝试打破你的循环;它可以加快一点。 像这样吼叫:
public static boolean getMp3s1(File dir){
int h=0;
File[] listFile = dir.listFiles();
if(listFile!=null)
for( int i=0; i< listFile.length; i++)
{
if(listFile[i].isDirectory()==true)
getMp3s1(listFile[i]);
else
{
if(listFile[i].getName().endsWith(".mp3")==true||listFile[i].getName().endsWith(".MP3")==true)
{
h=1;
break;
}
}
}
if(h==1){
h=0;
return true;
}
else
return false;
}
编辑: 正如我从你的代码逻辑中看到的那样,你似乎可以跳过getMp3s1(listFile [i]);太