Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检测目录/文件夹中的文件类型_Java_File - Fatal编程技术网

Java 检测目录/文件夹中的文件类型

Java 检测目录/文件夹中的文件类型,java,file,Java,File,我想问一下如何使用Java知道目录/文件夹中的文件类型。 问这个问题的原因是,目前我有一种情况,文件夹中存在两种不同类型的文件,一种是基于java的,另一种是python的。 我想使用Java作为一种语言,以编程方式检查解压缩文件夹中的类型文件是python(.py)还是Java(.Java)。你知道怎么做吗?有什么建议吗? 两种类型的文件不可能都在同一文件夹中。也就是说,文件要么全部是java格式,要么全部是python格式。这可以通过使用listFiles方法实现 单向 File [] fi

我想问一下如何使用Java知道目录/文件夹中的文件类型。 问这个问题的原因是,目前我有一种情况,文件夹中存在两种不同类型的文件,一种是基于java的,另一种是python的。 我想使用Java作为一种语言,以编程方式检查解压缩文件夹中的类型文件是python(.py)还是Java(.Java)。你知道怎么做吗?有什么建议吗?
两种类型的文件不可能都在同一文件夹中。也就是说,文件要么全部是java格式,要么全部是python格式。

这可以通过使用
listFiles
方法实现

单向

File [] files = folder.listFiles(f-> f.toString().endsWith(".java"));
使用python扩展

File [] files = folder.listFiles(f-> f.toString().endsWith(".py"));
或者更好的解决方案是创建一个带有参数的方法,这样您就可以在每次需要时通过调用它来使用它

public File [] returnFiles(File folder,String extension){
        
        return folder.listFiles(f-> f.toString().endsWith(extension));
    }
编辑

您向我保证文件夹中只有Java或Python文件,因此当我们列出
file[]files
数组中的所有文件时,此数组将包含Java文件或Python文件,因此无需检查所有文件。我们只检查此数组中的一个文件

范例

File[] files = file.listFiles(f -> f.isFile());

        File  fileToCheck;

        if (file.length() >= 0) {
            fileToCheck = files[0];
            int index = fileToCheck.toString().lastIndexOf(".");
            String extension = fileToCheck.toString().substring(index + 1);
            if(extension.equals("java")) {
                System.out.println("Java FrameWork");
            }else if(extension.equals("py")){
                System.out.println("Python FrameWork");
        }

    }

    }

}

  

你试过用Java来做这个吗?浏览所有文件并找到它们的扩展名并不难。这可以是一个开始:非常感谢Typhon提供了非常有用的信息。在我的代码中,文件夹而不是文件,我们使用的是字符串(文件夹名称基本上)。在这种情况下,如何使用if/else或try/catch来使用您建议的方法?Kind regardsWhat you want check with if conditions?类似于如果文件夹中有.java文件,则返回“java framework”,否则如果有.python,则返回“python framework”,我现在更新我的答案。@Ken检查一下。