標籤:android style blog io color os 使用 sp for
以下代碼在pc上測試通過,可是在android模擬器上就不工作,不過還可以連結到伺服器但不能得到檔案 糾結了半天,原來是模式的問題,具體請Google 模擬器中採用建議被動模式
public void getWorkMessage(){ FTPClient ftp = new FTPClient(); try { ftp.connect(server); System.out.println("Connected to " + server); System.out.print(ftp.getReplyString()); reply = ftp.getReplyCode(); if(!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); System.err.println("FTP server refused connection."); System.exit(1); } ftp.login(username, password); FTPFile[] files = ftp.listFiles("/"); if(files!=null&&files.length>0){ for(FTPFile f:files){ System.out.println("user:>>>"+f.getUser()+" name:>>>"+f.getName()+" size:>>>"+f.getSize()+" link:>>>"+f.getLink()); } } } catch (SocketException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
加上被動模式之後,代碼如下:
public void getWorkMessage(){ FTPClient ftp = new FTPClient(); try { ftp.connect(server); System.out.println("Connected to " + server); System.out.print(ftp.getReplyString()); reply = ftp.getReplyCode(); if(!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); System.err.println("FTP server refused connection."); System.exit(1); } ftp.login(username, password); //設定為被動模式 ftp.enterLocalPassiveMode(); FTPFile[] files = ftp.listFiles("/"); if(files!=null&&files.length>0){ for(FTPFile f:files){ System.out.println("user:>>>"+f.getUser()+" name:>>>"+f.getName()+" size:>>>"+f.getSize()+" link:>>>"+f.getLink()); } } } catch (SocketException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
OK,這樣就可以了。
Android 平台下Ftp 使用模擬器需要住的的問題