社区
非技术区
帖子详情
在java中如何实现ftp传输(仅使用jdk中提供得东东)
zhangbaobin
2002-03-22 06:55:13
小弟,最近要用java实现将文件传输到异地服务器
要求
1 使用ftp协议;
2 不能调用jdk以外的东西
小弟查遍jdk的document发现在java.net包中没有现成的实现ftp的类
而大家用的java.net.ftp包似乎在标准jdk中并没有,还是属于商业开发包?忘能指教
还有就是,小弟是否只能自己做一个实现ftp的类,如果不是,应该如何处理,例如说,应该用那些类来实现
...全文
275
6
打赏
收藏
在java中如何实现ftp传输(仅使用jdk中提供得东东)
小弟,最近要用java实现将文件传输到异地服务器 要求 1 使用ftp协议; 2 不能调用jdk以外的东西 小弟查遍jdk的document发现在java.net包中没有现成的实现ftp的类 而大家用的java.net.ftp包似乎在标准jdk中并没有,还是属于商业开发包?忘能指教 还有就是,小弟是否只能自己做一个实现ftp的类,如果不是,应该如何处理,例如说,应该用那些类来实现
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
MrYoucheng
2002-03-24
打赏
举报
回复
我这里有代码
你发信到polly.com@163.net 我寄给你
jimjxr
2002-03-23
打赏
举报
回复
IBM Alphaworks的ftp bean:
http://www.alphaworks.ibm.com/ab.nsf/techmain/62CFA1F198FDFA0988256723000AC882?OpenDocument
网络咖啡
2002-03-23
打赏
举报
回复
使用socket自己写吧!
FTP命令详解
FTP命令是Internet用户使用最频繁的命令之一,熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。如果你想学习使用进行后台FTP下载,那么就必须学习FTP指令。
FTP的命令行格式为: ftp -v -d -i -n -g [主机名] , 其中 -v 显示远程服务器的所有响应信息; -n 限制ftp的自动登录,即不使用;.n etrc文件; -d 使用调试方式; -g 取消全局文件名。
FTP使用的内部命令如下(中括号表示可选项):
1.![cmd[args]:在本地机中执行交互sh*ll,exit回到ftp环境,如:!ls*.zip
2.$ macro-ame[args]: 执行宏定义macro-name。
3.account[password]: 提供登录远程系统成功后访问系统资源所需的补充口令。
4.append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。
5.ascii:使用ascii类型传输方式。
6.bell:每个命令执行完毕后计算机响铃一次。
7.bin:使用二进制文件传输方式。
8.bye:退出ftp会话过程。
9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。
10.cd remote-dir:进入远程主机目录。
11.cdup:进入远程主机目录的父目录。
12.chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如:chmod 777 a.out。
13.close:中断与远程服务器的ftp会话(与open对应)。
14.cr:使用asscii方式传输文件时,将回车换行转换为回行。
15.delete remote-file:删除远程主机文件。
16.debug[debug-value]:设置调试方式, 显示发送至远程主机的每条命令,如:deb up 3,若设为0,表示取消debug。
17.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件
18.disconnection:同close。
19.form format:将文件传输方式设置为format,缺省为file方式。
20.get remote-file[local-file]: 将远程主机的文件remote-file传至本地硬盘的local-file。
21.glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数?
22.hash:每传输1024字节,显示一个hash符号(#)。
23.help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。
24.idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。
25.image:设置二进制传输方式(同binary)。
26.lcd[dir]:将本地工作目录切换至dir。
27.ls[remote-dir][local-file]:显示远程目录remote-dir, 并存入本地文件local-file。
28.macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。
29.mdelete[remote-file]:删除远程主机文件。
30.mdir remote-files local-file:与dir类似,但可指定多个远程文件,如 :mdir *.o.*.zipoutfile
。
31.mget remote-files:传输多个远程文件。
32.mkdir dir-name:在远程主机中建一目录。
33.mls remote-file local-file:同nlist,但可指定多个文件名。
34.mode[modename]:将文件传输方式设置为modename, 缺省为stream方式。
35.modtime file-name:显示远程主机文件的最后修改时间。
36.mput local-file:将多个文件传输至远程主机。
37.newer file-name: 如果远程机中file-name的修改时间缺镜赜才掏募氖奔涓蛑卮梦募?br》
38.nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并存入本地硬盘的local-file。
39.nmap[inpattern outpattern]:设置文件名映射机制, 使得文件传输时,文件中的某些字符相互转换, 如:nmap
$1.$2.$3[$1,$2].[$2,$3],则传输文件a1.a2.a3时,文件名变为a1,a2。 该命令特别适用于远程主机为非UNIX机的情况。
40.ntrans[inchars[outchars]:设置文件名字符的翻译机制,如ntrans1R,则文件名LLL将变为RRR。
41.open host[port]:建立指定ftp服务器连接,可指定连接端口。
42.passive:进入被动传输方式.
43.prompt:设置多个文件传输时的交互提示。
44.proxy ftp-cmd:在次要控制连接中,执行一条ftp命令,
该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。
45.put local-file[remote-file]:将本地文件local-file传送至远程主机。
46.pwd:显示远程主机的当前工作目录。
47.quit:同bye,退出ftp会话。
48.quote arg1,arg2...:将参数逐字发至远程ftp服务器,如:quote syst.
49.recv remote-file[local-file]:同get。
50.reget remote-file[local-file]:类似于get, 但若local-file存在,则从上次传输中断处续传。
51.rhelp[cmd-name]:请求获得远程主机的帮助。
52.rstatus[file-name]:若未指定文件名,则显示远程主机的状态, 否则显示文件状态。
53.rename[from][to]:更改远程主机文件名。
54.reset:清除回答队列。
55.restart marker:从指定的标志marker处,重新开始get或put,如:restart 130。
56.rmdir dir-name:删除远程主机目录。
57.runique:设置文件名只一性存储,若文件存在,则在原文件后加后缀.1, .2等。
58.send local-file[remote-file]:同put。
59.sendport:设置PORT命令的使用。
60.site arg1,arg2...:将参数作为SITE命令逐字发送至远程ftp主机。
61.size file-name:显示远程主机文件大小,如:site idle 7200。
62.status:显示当前ftp状态。
63.struct[struct-name]:将文件传输结构设置为struct-name, 缺省时使用stream结构。
64.sunique:将远程主机文件名存储设置为只一(与runique对应).
65.system:显示远程主机的操作系统类型。
66.tenex:将文件传输类型设置为TENEX机的所需的类型。
67.tick:设置传输时的字节计数器。
68.trace:设置包跟踪。
69.type[type-name]:设置文件传输类型为type-name,缺省为ascii,如:type binary,设置二进制传输方式。
70.umask[newmask]:将远程服务器的缺省umask设置为newmask,如:umask 3
71.user user-name[password][account]:向远程主机表明自己的身份,需要口令时,必须输入口令,如:user
anonymous my@email。
72.verbose:同命令行的-v参数,即设置详尽报告方式,ftp 服务器的所有响 应都将显示给用户,缺省为on.
73.?[cmd]:同help.
cxj_2000
2002-03-22
打赏
举报
回复
sun.ftpclient
SuperMMX
2002-03-22
打赏
举报
回复
java.net.ftp 没有这个包. sun 有个内部实现的包, 不提倡使用.
还是自己从 socket 根据协议自己写吧.
xhh
2002-03-22
打赏
举报
回复
自己写一个FTP的类吧,可以先下载一个RFC959看看。
实现起来不是很复杂,对于FTP协议的传输控制部分是基于TELNET的,
比较简单,但是数据传输部分就要考虑较细致。
如果你仅仅是要把文件传过去,就没有必要完全实现FTP协议了,
只需要把精力集中到数据传输的格式,还有穿过代理等问题上。
祝你好运!
JDK
7-
Java
7-
Java
SE7-
JDK
8-
Java
8-
Java
SE8-新特性和增强功能
Android的SDK是
使用
JDK
7,
JDK
8开发的, 主流的大厂都在用
JDK
8, 所以
JDK
9新特性并不是特别重要。 4. 参考Oracle的
JDK
7,8发布文档总结的技术知识。 5. 熟练
使用
新特性能提高开发效率,使代码更精简,阅读Android源码更...
手动
实现
一个RPC框架(三):Netty+ZooKeeper+
Java
手动
实现
一个RPC框架,需要用到哪些技术,这些技术又分别起到了什么作用呢。
java
基础巩固-宇宙第一AiYWM:为了维持生计,架构知识+分+微序幕就此拉开之Dubbo(常见的RPC框架们,包含Dubbo内部一些
东东
+实战,SpringBoot
中
搞Dubbo)~整起
java
基础巩固-宇宙第一AiYWM:为了维持生计,
中
间件之Dubbo~整起
项目开发环境搭建手记(2.
Jdk
安装——替代原有的Open
JDK
)
作者:fbysss QQ:溜酒酒吧酒吧吾散 ...前言:Centos下,
Java
已经安装好了,1.7版本的,但是并没有
JAVA
_HOME等环境变量。于是: export
JAVA
_HOME=/usr/lib/jvm/
java
-1.7.0-open
jdk
-1.7.0.9 export CL
Java
RMI 远程方法调用 (Remote Method Invocation)
通俗地说,远程调用就象将一个class放在A机器上,然后在B机器
中
调用这个class的方法。 我个人认为,尽管RMI不是唯一的企业级远程对象访问方案,但它却是最容易
实现
的。与能够使不同编程语言开发的CORBA不同的是...
非技术区
23,404
社区成员
70,593
社区内容
发帖
与我相关
我的任务
非技术区
Java 非技术区
复制链接
扫一扫
分享
社区描述
Java 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章