2010-05-25 11 views
4

Java에서 호스트 OS의 최대 파일 크기를 판별하는 플랫폼 간 방법이 있습니까?Java 최대 파일 크기

+0

최대 파일 크기는 일반적으로 OS가 아닌 파일 시스템의 기능입니다. 대부분의 OS는 64 비트를 사용하여 파일 길이/오프셋을 나타낼 수 있으므로 원칙적으로 최대 16 엑사 바이트의 파일을 지원할 수 있습니다. – mdma

답변

4

아니요, 최대 파일 크기는 파일 시스템에 따라 다릅니다. (당신은 비교 here를 볼 수 있습니다). 플랫폼 특정 방식을 사용하여 파일 시스템 유형을 파악할 수 있습니다 (예 : mount on linux).

1

가장 큰 파일은 빈 공간을 찾기 위해, 당신은 File.getFreeSpace()을 사용할 수 있습니다 당신은 JDK 6에 아파치 Commons IO에서

long FileSystemUtils.freeSpaceKb(String path) 

를 통해

을 얻을 수있는 여유 공간의 양보다 확실히 더 큰 없습니다 파일을 포함하는 파티션의.

+1

이것은 사실이 아닙니다. 전체 디스크만큼 큰 파일을 생성 할 수없는 (레거시) 파일 시스템이 있습니다. 예를 들어 FAT32의 파일 크기 제한은 4GB입니다. NTFS (및 대부분의 다른 64 비트 파일 시스템)의 이론적 한계는 16EB이지만 실용적인 제한은 2TB입니다. 요즘 디스크/디스크 배열은 매우 간단합니다. 물론 – BalusC

+0

. 내 잘못이야. 개막 문구를 바 꾸었습니다. – mdma

+0

압축 파일 시스템에 여유 공간보다 큰 파일을 만들 수도 있습니다 ... –