zh9874563321 2011-11-26 11:51
浏览 357
已采纳

怎样在java 代码中通过ftp协议实现远程压缩文件 哪位指点一二,小弟不胜感激呀

具体情况是这样的: 服务器端有好多xml文件有几个G,在客户端要下载下来,由于文件太大,若加上网络不好,就会下载失败. 考虑到xml文件压缩后会少的很多,就想在下载前将其压缩, 问题就在 怎样在客户端通过ftp协议将服务器端的xml文件压缩呢? 现在用的是commons-net 链接的 各位朋友都说说有啥好的解决方案莫

  • 写回答

2条回答 默认 最新

  • jiangguangxian 2011-11-26 15:24
    关注

    这个从理论上讲不是一定不可以实现,而是较难实现,难在于现成的ftp服务器不提供这种功能,可以实现是因为有哪些开源的ftp服务 比如filezilla. 你可以通过修改源码支持在传输文件之前,加个压缩功能,这个在我们的项目中就有过调研,调研的结果是已经进行了一定的源码改动做到了,不过我们是在上传完成时做一些操作,你的是在下载时做一些操作,c++的东西主要是通过一些消息,你请求下载的时候肯定也是由消息的,你可以截获,然后写个压缩程序调用一下。

    [quote]
    1.#!/bin/sh //这是shell程序的开头部分,必须地。
    2.tar -cvf filter.tar filter/ //解压 filter.tar 到 filter/文件夹下

    3.ftp -n<<! // 启动ftp命令,并且使用非交互式(-n参数)就是不采用问答式的命令
    4.open 10.70.193.33 // 打开10.70.193.33 这个ftp服务地址,就是连接服务。
    5.user username password // 使用用户名和密码
    6.binary // 传输文件是用二进制的方式。
    7.prompt off // 禁用提示 (相当于bat中的@echo off)
    8.cd /app/ngapp/data/bak // 进入 /app/ngapp/data/bak 目录
    9.mput filter.tar // 将filter.tar 文件上传
    10.close // 关闭连接
    11.bye // 退出ftp命令行
    [/quote]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题