阅读文件夹并提供文件夹中所有文件的详细信息[重复]

Posted

技术标签:

【中文标题】阅读文件夹并提供文件夹中所有文件的详细信息[重复]【英文标题】:Reading the folder and give the details of all the files present in the folder [duplicate] 【发布时间】:2015-08-22 21:01:44 【问题描述】:

我得到了一个程序,它应该读取给定文件夹中存在的所有文件,并提供文件详细信息,例如文件名、文件大小、创建日期和时间、文件位置作为输出。如果给定文件夹中有任何子文件夹,那么它也应该提供该子文件夹中存在的文件的详细信息。

【问题讨论】:

标准Java库中有一个API。你的问题到底是什么? 你可以使用File.list()的方法看看docs.oracle.com/javase/7/docs/api/java/io/… 【参考方案1】:
package FileDetails;

import java.io.*;
import java.nio.file.*;
import java.nio.file.attribute.*;``


public class FileDetails 

    public static void filelist(final File folder) throws IOException
    
        for (final File fileEntry : folder.listFiles())
        
            if(fileEntry.isDirectory())
            
                filelist(fileEntry);
            
            else
            
                //To get file name

                System.out.println("File name is : " + fileEntry.getName());

                //To get file extension

                String fileName = fileEntry.getName();
                if(fileName.lastIndexOf(".") != -1 && fileName.lastIndexOf(".") != 0)
                
                    System.out.println("Extension of file is : " + fileName.substring(fileName.lastIndexOf(".")+1));
                

                //To get file size

                double bytes = fileEntry.length();
                double kilobytes = (bytes / 1024);
                System.out.println("Size of the file is : " + kilobytes + " KB");

                //To get file times

                Path path = fileEntry.toPath();
                BasicFileAttributes attr = Files.readAttributes(path,BasicFileAttributes.class);

                System.out.println("Creation time  :  " + attr.creationTime());
                System.out.println("Last Access time  :  " + attr.lastAccessTime());
                System.out.println("Last Modified time  :  " + attr.lastModifiedTime() + "\n\n");


            
        
    
    public static void main(String[] arg) throws IOException
    
        final File folder = new File("folder location");
        filelist(folder);
    

【讨论】:

以上是关于阅读文件夹并提供文件夹中所有文件的详细信息[重复]的主要内容,如果未能解决你的问题,请参考以下文章

需要搜索目录并遍历 zip 文件并阅读每个 [重复]

如何从 XCUITest(来自 Xcode 11)中的 xcresult 文件中提取详细信息?

从重复的配置文件信息中获取 TransactionID

将shell输出重定向到文件[重复]

“访客详细信息问题Java中的IO文件处理

6.2 QFileInfo获取文件详细信息