what_we_are 2017-07-11 03:30 采纳率: 0%
浏览 1433
已结题

java实现ftp上传文件的问题

真的很奇怪,时不时的能行,不管服务器防火墙是开着还是关着都时不时能行,为什么呢 public static boolean uploadFile(String hostname, int port, String username,
String password, String pathname, String fileName, BufferedInputStream inputStream){
boolean flag = false;
FTPClient ftpClient = new FTPClient();
ftpClient.setControlEncoding("utf-8");
try{
ftpClient.connect(hostname, port); //连接ftp服务器
ftpClient.login(username, password); //登录ftp服务器
int replyCode = ftpClient.getReplyCode(); //是否成功登录服务器
System.out.println(replyCode);
if(!FTPReply.isPositiveCompletion(replyCode)){
System.out.println("disconnect");
}
ftpClient.setConnectTimeout(200*1000);
ftpClient.setBufferSize( 1024 );
ftpClient.makeDirectory(new String(pathname.getBytes("UTF-8"),"iso-8859-1"));
boolean flg = ftpClient.changeWorkingDirectory(pathname);
System.out.println("changedir"+flg);
ftpClient.setFileType(ftpClient.BINARY_FILE_TYPE);
ftpClient.enterLocalPassiveMode();//Switch to passive mode
boolean result = ftpClient.storeFile(fileName, inputStream);
System.out.println(result);
inputStream.close();
ftpClient.logout();
ftpClient.disconnect();
flag = true;
}catch (Exception e) {
e.printStackTrace();
}finally{
if(ftpClient.isConnected()){
try{
ftpClient.disconnect();
}catch(IOException e){
e.printStackTrace();
}
}

    }
    return true;
}

     int replyCode = ftpClient.getReplyCode(); 每次尝试返回的都是230,连接ftp服务是成功的。
      ftpClient.makeDirectory(new String(pathname.getBytes("UTF-8"),"iso-8859-1"));创建目录也是成功的,每次都行。
           boolean result = ftpClient.storeFile(fileName, inputStream);上传文件这一步就时不时能行,不管服务器防火墙时不时开着的。

  • 写回答

4条回答 默认 最新

  • 像忘了谁sq 2017-07-11 03:38
    关注

    时行时不行,看一下是不是网络的问题。下载Xftp 测试一下

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算