爲java.io.File.length的JavaDoc()規定:java.io.File.length()返回一個目錄是什麼?
返回由此抽象路徑名錶示的文件的長度。如果此路徑名錶示目錄,則返回值未指定。
我一直在Solaris上測試,這似乎是基於目錄中的文件數量,但它總是返回比文件\文件夾包括'。'更大的數字。文件。
有誰知道這個值在Solaris \ Linux \ OSX \ Windows上的含義是什麼?這可能是操作系統的具體情況,但如果知道它有任何價值,這將是一件好事!
編輯:
我已告知,這是不應該使用的一個功能的意見同意「一次編寫,到處運行」的Java方法,但因爲返回的值是不是0L (它可能在某些操作系統上,但不是在Solaris上)我很想知道這個值是指什麼。
本地Java調用通常是直接的單一操作系統過程,所以無論這個值是指什麼,都有一定的含義,你可以免費獲得它,而不需要加載更多的java.io.File(s)。
這將是依賴於操作系統的,但我希望它返回用在空間磁盤。 BTW:目錄是一個特殊類型的文件,其目錄中包含名稱和節點。如果你是UNIX的根目錄,你可以像讀取文件一樣讀取目錄的字節。 –
java.io.File的JavaDoc表示它對於目錄沒有指定。抽象類java.io.FileSystem(它是File.length()所調用的)的JavaDoc說它定義爲從目錄爲零。它實際上是用本地代碼實現的,我不知道該如何看待。無論如何,如果它不爲零,那麼本機代碼將違背java.io.Filesystem的規範。 – Nick
它返回實際知道數字意味着= P的開發人員的數量。無論如何,這個數字是你不應該依賴的,因爲javadocs說它沒有指定。 –