자바 파일 가 져 오기 크기
두 가지 방법 이 있어 요.
방식 1:File 의 length()방법 사용 하기;
방식 2:FileInputStream 의 available()방법 사용 하기;
실례:
@Test
public void test01() throws IOException {
String filepath = "d:\\bin\\pushpoxy-0.0.1-SNAPSHOT.jar";
System.out.println("File has " + new File(filepath).length()+ " bytes");
FileInputStream fis = null;
fis = new FileInputStream(filepath);
System.out.println("File has " + fis.available() + " bytes");
}
실행 결과:
File has 29061936 bytes
File has 29061936 bytes
사실 이 두 가지 방법 은 차이 가 있다.
File 의 length()방법 은 파일 이 차지 하 는 하 드 디스크 공간 크기 를 가 져 오 는 것 입 니 다.
FileInputStream 의 available()방법 은 읽 을 수 있 는 바이트 가 얼마나 있 는 지 입 니 다.
available()방법의 설명 은 다음 과 같다.
Returns an estimate of the number of remaining bytes that can be read (or skipped over) from this input stream without blocking by the next invocation of a method for this input stream. The next invocation might be the same thread or another thread. A single read or skip of this many bytes will not block, but may read or skip fewer bytes.
우 리 는 위의 프로그램 을 약간 수정 했다.
@Test
public void test01() throws IOException {
String filepath = "d:\\bin\\pushpoxy-0.0.1-SNAPSHOT.jar";
System.out.println("File has " + new File(filepath).length()+ " bytes");
FileInputStream fis = null;
fis = new FileInputStream(filepath);
byte[]bytes=new byte[10];
fis.read(bytes);
System.out.println("File has " + fis.available() + " bytes");
fis.skip(-10);
System.out.println("File has " + fis.available() + " bytes");
}
실행 결 과 는 다음 과 같 습 니 다.
File has 29061936 bytes
File has 29061926 bytes
File has 29061936 bytes
요약:파일 을 가 져 오 는 데 큰 시간 동안 File 의 length()방법 을 사용 하 는 것 을 권장 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
js 업로드 파일 크기 검사인터넷 에서 파일 크기 를 얻 는 게시 물 을 많이 검색 해 봤 지만 제 문 제 를 해결 할 수 있 는 것 이 하나 도 없 었 습 니 다. FileReader 의 글 을 보고 파일 크기 가 바이트 의 총화 라 고 생...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.