sun.net.ftp.FtpClient 怎么设置PORT模式

wangqingfeng 2010-09-17 11:33:28


小弟用的是sun.net.ftp.FtpClient,传送文件的时候

报 sun.net.ftp.FtpProtocolException: 425 Possible PASV port theft, cannot open data connection.


查了一下说是要用PORT模式

代码里怎么写呀 写详细一下 谢谢
...全文
242 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangqingfeng 2010-09-17
  • 打赏
  • 举报
回复
不是端口 是port 模式
wula0010 2010-09-17
  • 打赏
  • 举报
回复
public FtpClient(String hostname,int port)
菖蒲老先生 2010-09-17
  • 打赏
  • 举报
回复
client.connect(hostIPAddress, port);
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import sun.net.TelnetOutputStream; import sun.net.TelnetInputStream; import sun.net.ftp.FtpClient; public class ftptest { FtpClient ftpClient; private String localfilename; private String remotefilename; static String a = new String(); static int b; static String c = new String(); static String d = new String(); static String e = new String(); File aFile = new File("e:\\12\\"); String[] fileList = aFile.list(); public void connectServer(String ip, int port,String user, String password,String path) { try { ftpClient = new FtpClient(); ftpClient.openServer(ip,port); ftpClient.login(user, password); System.out.println("login success!"); if (path.length() != 0) { ftpClient.cd(path); } ftpClient.binary(); } catch (IOException ex) { System.out.println("not login"); System.out.println(ex); } } public void closeConnect() { try { ftpClient.closeServer(); System.out.println("disconnect success"); } catch (IOException ex) { System.out.println("not disconnect"); System.out.println(ex); } } public void upload() { //this.localfilename = "e://12//bb.txt"; //this.remotefilename = "bb.txt"; for(int i = 0; iftpClient.put(fileList[i]); java.io.File file_in = new java.io.File("e://12//" + fileList[i]); FileInputStream is = new FileInputStream(file_in); byte[] bytes = new byte[1024]; int c; while ((c = is.read(bytes)) != -1) { os.write(bytes, 0, c); } System.out.println("upload success"); is.close(); os.close(); } catch (IOException ex) { System.out.println("not upload"); System.out.println(ex); } } }

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧