帮助做到这一点,下面的代码找到文件夹中的txt文件,以及如何使它列出没有扩展名的文件名。这是代码:
String list[] = new File("C:\\Users\\Eric\\Desktop\\txt\\").list(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.endsWith(".txt");
}
});
for (int i = 0; i < list.length; i++){
if(myName.equals(list[i])) {
InputStreamReader reader = null;
try{
File file = new File("C:\\Users\\Eric\\Desktop\\txt\\" + list[i]);
reader = new InputStreamReader(new FileInputStream(file), "UTF-8");
如你所见,就在这里:
if(myName.equals(list[i]))
这里是文件列表与myname的值进行比较,所以你能帮忙给出比较表和myName和list [i],不考虑文件扩展名) 如程序显示该文件夹具有以下布局:indeks.html hi.html,用户输入indeks.html,比较好,但如何创建一个以便用户输入代码,并且程序仍然比较了它与目录中的文件列表?
答案 0 :(得分:3)
如果我理解正确,您希望列出文件夹中的所有文件,无论其扩展名如何。在这种情况下,请使用:
String list[] = new File("C:\\Users\\Eric\\Desktop\\txt\\").list(new FileFilter() {
public boolean accept(File file) {
return file.isFile();
}
});
编辑:好的,我没理解你。您想从if语句中的文件名中删除扩展名。您可以将substring
与lastIndexOf
结合使用:
String name = list[i];
String nameWithoutExtension = name.substring(0, name.lastIndexOf("."));
或者,由于您的所有扩展名都是“.txt”,因此以下内容也适用:
String nameWithoutExtension = name.substring(0, name.lastIndexOf(".txt"));