如何查找linux box上的文件大小并在JavaWebApp中显示

如何查找linux box上的文件大小并在JavaWebApp中显示,java,linux,jakarta-ee,document,Java,Linux,Jakarta Ee,Document,我有一个web应用程序,它显示一组指向文档的链接。这些文档放在我的linux机器上 现在我想在一个列中显示每个文件的大小 我现在想的解决方案是: 在谷歌搜索之后,我注意到 du -h /home/user/me/doc.txt gives the size of file. 因此,我正在考虑获得一个新的web服务,它获取一个文档位置,连接到我的盒子,运行上面的命令,并返回大小 唯一担心的是我会有大约1000个结果。它们将位于不同的文件夹中。因此,在每个文件上运行上述命令需要时间 有没有办法让我

我有一个web应用程序,它显示一组指向文档的链接。这些文档放在我的linux机器上

现在我想在一个列中显示每个文件的大小

我现在想的解决方案是:

在谷歌搜索之后,我注意到

du -h /home/user/me/doc.txt gives the size of file.
因此,我正在考虑获得一个新的web服务,它获取一个文档位置,连接到我的盒子,运行上面的命令,并返回大小

唯一担心的是我会有大约1000个结果。它们将位于不同的文件夹中。因此,在每个文件上运行上述命令需要时间

有没有办法让我的工作高效地完成


谢谢

您可以使用java递归读取所有文件,排除不需要的文件,并获得文件大小,但调用du-h要快得多,所需代码也要少

        //you will problably need to tune up a bit the du command
        String[] cmd = {
        "/bin/sh", "-c", "du -h /home/user/me/*.txt" };//to get all the txt files size in folder

        try {
            Process p = Runtime.getRuntime().exec(cmd);
            BufferedReader bri = new BufferedReader(new InputStreamReader(
                    p.getInputStream()));

            String line = "";
            while ((line = bri.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {

            e.printStackTrace();
        }
更新 我已经在不同目录下的mp3文件上进行了测试,在不同文件夹中存储了6000多个文件,只需不到一秒钟的时间

使用的命令:

"/bin/sh", "-c", "du -h -a /media/mp3 | grep .mp3" 

你能用java
File
class读取文件的大小吗。