首页>>程序代码>>Apache Commons Net实现FTP断点续传功能
Apache Commons Net实现FTP断点续传功能
来源: 时间: 2014-12-30 15:21:45

 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();

本页地址:http://www.easytd.com/chengxudaima/d_14123015560.html

上一篇:Java代码获取并输出系统内所有可用的字体代码实现 下一篇:PHP中fopen,file_get_contents,curl的区别