繁体   English   中英

文件与Java中的随机访问文件

[英]File vs Random Access File in java

我需要搜索目录并获取其中的所有文件。 所以我以前将文件存储在File数组中。 我的问题是

1)数组是否包含实际文件或对文件的引用? 2)哪个是最好的选择File或RandomAcessFile? 为什么这样 ?

请帮我这个我的代码

public File[] getAllFiles(String path) {
    File file  = new File(path);

    if (file.isDirectory() && file.exists()) {
        allFiles = file.listFiles();
        System.out.println("Files in the directory " + file.getName() 
            + " present in the path " + file.getAbsolutePath()
            + " are fetched sucessfully");
        printAllFiles(allFiles);

    }

    return allFiles;
}

public void printAllFiles(File data[]) {
    int count = 0;

    for (File i : data) {
        System.out.println("Index : " + count + " Name : " + i.getName());
        count++;
    }
}

File是可能存在或可能不存在的文件/目录的抽象表示。 它不会消耗任何资源,因此您可以根据需要存储它们。

RandomAccessFile用于实际的文件访问(读取,查找,写入),因此您在这里不需要它。

1)像Java变量那样的Java变量,您的数组包含其中一个,永远不是对象。 它们仅指向保存在磁盘上某处的对象。 因此,您的文件阵列仅指向磁盘上的某些文件对象。 但是File对象也不是File。 它们仅包含文件的路径并指向该文件。

所以不,他们只指向文件

1)file.listFiles该方法返回此抽象路径名表示的目录中文件和目录的路径名数组。

2)看看这个答案https://stackoverflow.com/a/905720/7782618

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM