File copyf = new File("D:\\PictureDownload.zip");
  try {
   URL url = new URL("주소);
   
   InputStream is = url.openStream();
   dataSize = is.available();
   
   FileOutputStream fos = new FileOutputStream(copyf);
   
   byte[] buf = new byte[1024];
   int i = 0;
   
   System.out.println("다운로드 사이즈 :" + dataSize + "byte");
   
   while((i = is.read(buf)) != -1) {
    fos.write(buf, 0, i);
    System.out.println(i);
   }
   
   System.out.println("다운로드가 완료되었습니다.");
   fos.close();
   is.close();
   
  }catch(Exception e) {System.out.println(e.toString());}


이렇게 다운로드를 구현하였습니다.


받을 파일의 전체 길이를 확인하기 위해


available로 연결된 스트림의 전체사이즈를 가지고 왔는데요.


10번 다운받으면 3번정도는 원래 사이즈와 다른 사이즈를 얻어옵니다.


그런데 다운받은 파일은 정상적인 사이즈이구요.


표시되는건 10번중 3번은 정상사이즈를 가져오지를 못합니다.


이런 현상이 왜 일어나는건가요?


해결방법은 없을까요?