从没有扩展名的文件夹输出文件

时间:2012-11-14 14:56:39

标签: java

帮助做到这一点,下面的代码找到文件夹中的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,比较好,但如何创建一个以便用户输入代码,并且程序仍然比较了它与目录中的文件列表?

1 个答案:

答案 0 :(得分:3)

如果我理解正确,您希望列出文件夹中的所有文件,无论其扩展名如何。在这种情况下,请使用:

String list[] = new File("C:\\Users\\Eric\\Desktop\\txt\\").list(new FileFilter() {
    public boolean accept(File file) {
        return file.isFile();
    }
});

编辑:好的,我没理解你。您想从if语句中的文件名中删除扩展名。您可以将substringlastIndexOf结合使用:

String name = list[i];
String nameWithoutExtension = name.substring(0, name.lastIndexOf("."));

或者,由于您的所有扩展名都是“.txt”,因此以下内容也适用:

String nameWithoutExtension = name.substring(0, name.lastIndexOf(".txt"));