2012-04-18 5 views
3

File.getUsuableSpace()을 사용하여 파티션의 모든 여유 공간의 바이트 수를 인쇄하려고하지만 df 명령보다 다른 값이 반환됩니다. (리눅스에서).File.getUsableSpace()가 Linux의 "df"명령과 동일한 값을 반환하지 않음

별로 다르지 않지만 몇 메가 바이트가 다릅니다.

어떤 경우일까요?

+0

** df ** 결과가 1K 블록으로 반올림 되었습니까? –

+0

예, 1K 블록입니다. 그러나 File.getUsableSpace()를 1024로 나누더라도 차이가 있습니다. – Rox

+0

java 프로그램 실행과 "df"명령 사이에 하드 드라이브에 영향을주지 않아야합니다. 하지만 어쩌면 운영체제 나 그 어떤 것이 영향을 줄 수 있을까요? – Rox

답변

2

File 인스턴스가 실행중인 파티션과 동일한 파티션에있는 파일입니까? docs에서

는 :

강조는 내 꺼야 "이 추상 패스 명이 파티션에이 가상 머신에 사용할 수있는 바이트 수를 돌려줍니다."

+0

예, 같은 파티션에 있습니다. "df"는 모든 파티션을 나열합니다. – Rox

0

이것은 사용 가능한 공간 만 제공합니다. getFreeSpace()은 여유 공간을 반환하고 공간을 사용할 수 없습니다. Java 1.6에서 작동합니다. 자세한 내용은 File class documentation을 참조하십시오.

관련 문제