안드로이드 개발 질문/답변
(글 수 45,052)
ftp 통신으로 파일 전송을 하게 하고 싶은데요
로그인까지는 되는데 파일 리스트를 보려고만 하면
Runtime Exception이 발생하거나, 아예그냥 거기서 멈춰버리네요.
파일전송은 물론안되고요...
인터넷에서 검색한 소스 보면서 했는데
첨 해보는 ftp통신이라 소스에 잘못된 부분이 있는지를 모르겠어서 질문 남깁니다.
도와주세요 ㅜ
아참 그리고 HTTP통신은 서버측에서 파일을 받아주는 jsp나 php파일이 필요하던데
FTP도 필요한지 궁금해요. 예제검색하면서 한번도 본적이 없긴 하지만;;
소스 중간에 멈추는 부분 주석 넣어 뒀으니
잘못된 부분이 있는지 확인 부탁드립니다 ㅠㅠ
public class FtpAgainActivity extends Activity {
String server = "서버주소";
String username="id";
String password = "pw";
String path = "/test";
String downPath = "c:/serverTest/";
public void Connect(){
FTPClient f = new FTPClient();
try {
f.connect(server);
Log.d("status", "connect Info = "+ f.getReplyString());
int reply=f.getReplyCode();
if(!FTPReply.isPositiveCompletion(reply)){
f.disconnect();
Log.e("status", "code : "+reply+" server refused connection");
}else{
Log.d("status", "connect successful"); //정상접속된경우
}
f.login(username,password);
Log.d("status", "login Info = "+ f.getReplyString());
FTPFile[] files = f.listFiles("/test/"); //여기가 멈추는 부분이에요.
Log.d("status", "isnull? "+ files[0].);
if(files !=null){
for(int i=0;i<files.length;i++){
FTPFile tst = files[i];
Log.d("status", i+". "+tst.getName());
}
}
f.setFileType(FTP.BINARY_FILE_TYPE);
f.logout();
f.disconnect();
} catch (SocketException e) {
Log.e("status", "socketException", e);
try {
f.disconnect();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} catch (IOException e) {
Log.e("status", "IOException", e);try {
f.disconnect();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}




- FTP는 서버만있으면 되기때문에 파일은 필요 없습니다.
- 소스상에 FTPClient class의 내용이 필요할듯 하네요.