我使用文件类编写了一个类Storage,它应代表一个Windows目录。它应该有一些方法作为folderOnly()方法,如果我的存储中只有文件夹,则返回一个布尔值。 额外信息:我正在查看的目录中只有.mp3文件和其他文件夹。
所以这里是代码:
import java.io.File;
public class Storage {
String location;
public Storage(String location){
this.location = location;
}
public boolean folderOnly(){
boolean onlyFolder = true;
File folder = new File(location);
String [] folderArray = folder.list();
for(int i = 0; i < folderArray.length && onlyFolder ; i++){
if(folderArray[i].length() >= 4 && folderArray[i].substring(folderArray[i].length()-4) == ".mp3"){
onlyFolder = false;
}
}
return onlyFolder;
}
}
因此,如果我为具有大量.mp3文件的directoy创建“存储”对象(即使数字无关紧要),它仍然返回true。 所以我检查了中间结果:
由行folderArray[i].substring(folderArray[i].length()-4)
创建的字符串,由System.out.println(String s)
打印出来,似乎是“.mp3”。但如果我将它与".mp3"
进行比较,则会返回false。
我错过了什么?
如果有一个非常简单的解决方案,或者我的英语很难理解,请不要怪我。我是英语和编程的全部新手。 :)