마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 ftp 다운로드

0 추천

안드로이드 ftp 클라이언트를 제작중에 있습니다.

접속을하고 로그인을 해서 리스트를 뿌려주는 것 까지는 되는데,

다운로드에서 진도가 안나가서 물어봅니다.

FTPClient.retrieveFile();   <---메소드로 다운로드 하는것 아닌가요??

다운로드를 하면 에러없이 다운로드가 진행 됩니다.

그러나 다운이 완벽하게 되지를 않습니다. 약500kb를 받고난 뒤 그 뒤는 다운이 안됩니다. 다운 받은 파일의 속성을 보면 원래 용량으로 표기가 되어있지만, 실제로 다운 되는 영역은 500kb인것 같습니다.

단적인 예로 작은 사이즈의 이미지는 다운 받으면 볼 수 있는데, 큰용량의 이미지는 이미지가 깨져서 보입니다.

작은 용량의 동영상은 재생이 되지만 큰용량은 재생과 동시에 첫화면만 보이다 바로 꺼집니다.

protected boolean FtpDownload(MListener listener, FileInfo[] dir) throws FileNotFoundException {
  boolean status = false;
  try {
   String sdpath = Environment.getExternalStorageDirectory().getAbsolutePath();
   FileInfo file = dir[0];
    FileOutputStream desFileStream = new FileOutputStream(sdpath + "/" + file.getName());
    status = ftpclient.retrieveFile(file.getAbsPath(), desFileStream);
    desFileStream.close();
    return status;
   
  } catch (Exception e) {
   Log.d("Down", "download failed");
  }
  return status;
 } 

다운로드는 이렇게 하는게 아닌가요??

한 버퍼만 받았다? 라는 느낌이 드는데 그럼 다운 받을려는 파일의 전체 사이즈를 구한뒤 버퍼를 계속 보내 주는 그런게 있나요??

궁금합니다.

질문이 정확하게 이해 되었는지 모르겠습니다.

 = > ftp 파일 다운로드가 완벽하게 되지 않는다.

인데,, 감사합니다.

익명사용자 님이 2013년 5월 1일 질문

1개의 답변

+1 추천

status = ftpclient.retrieveFile(file.getAbsPath(), desFileStream);

저 code while 같은걸로 매번 호출 해야 하는거 아님?

카라드레스 (2,910 포인트) 님이 2013년 5월 9일 답변
...