vickzhu

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  151 随笔 :: 0 文章 :: 34 评论 :: 0 Trackbacks
FTPClient client = new FTPClient();
  client.connect("ip地址", 21);
  client.login("用户名", "密码");
  client.setSoTimeout(5000);//设置连接超时时间为5000毫秒
  // 在尝试连接以后,你应该检查返回码验证是否连接成功!
  int reply = client.getReplyCode();
  if (!FTPReply.isPositiveCompletion(reply)) {
   client.disconnect();
   System.err.println("FTP 服务器拒绝连接.");
   System.exit(1);
  }
  System.out.println("连接正在建立中......");
  if (client.isConnected()) {
   System.out.println("连接已建立!");
   client.setControlEncoding("gb2312");// 设置编码方式,默认编码方式为:ISO8859-1
   client.changeWorkingDirectory("archives");// 改变当前ftp的工作目录
   // client.changeToParentDirectory();//回到上级目录
   FTPFile[] fs = client.listFiles(); // 得到当前工作目录下的所有文件
   for (FTPFile ff : fs) {
    if (ff.getName().equals("test.txt")) {
     File file = new File("E:\\ftpdata" + File.separator
       + "test.txt");
     RandomAccessFile rfile = new RandomAccessFile(file, "rw");// 随机访问文件类
     long offset = rfile.length();
     client.setRestartOffset(offset);
     rfile.seek(offset);
     InputStream input = client
       .retrieveFileStream("test.txt");
     byte[] data = new byte[1024];
     System.out.println(new Date() + " 数据写入中...");
     while (input.read(data) != -1) {
      rfile.write(data);
     }
     System.out.println(new Date() + " 所有数据已接受完成!");
     input.close();
     rfile.close();
    }
   }
  }
  client.logout();
  client.disconnect();
posted on 2009-03-20 11:20 筱 筱 阅读(1886) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: