簡體   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