javaftp代码 java lftp

java 实现ftp上传如何创建文件夹?准备条件:java实现ftp上传用到了commons-net-3.3.jar包
首先建立ftphost连接
public boolean connect(String path, String addr, int port, String username, String password) {
try {
//FTPClient ftp = new FTPHTTPClient(addr, port, username, password);
ftp = new FTPClient();
int reply;
;
System.out.println("连接到:" + addr + ":" + port);
System.out.print();
reply = ;
if (!FTPReply.isPositiveCompletion(reply)) {
;
System.err.println("FTP目标服务器积极拒绝.");
System.exit(1);
return false;
}else{
(username, password);
;
;
;
System.out.println("已连接:" + addr + ":" + port);
return true;
}
} catch (Exception ex) {
ex.printStackTrace();
System.out.println(ex.getMessage());
return false;
}
}
然后再利用ftpclient的makeDirectory方法创建文件夹
public void createDir(String dirname){
try{
;
System.out.println("在目标服务器上成功建立了文件夹: " + dirname);
}catch(Exception ex){
System.out.println(ex.getMessage());
}
}
断开host连接
public void disconnect(){
try {
;
} catch (IOException e) {
e.printStackTrace();
}
}
最后是程序的调用方法
public static void main(String[] args) {
FtpUploadTest ftpupload = new FtpUploadTest();
if(ftpupload.connect("", "172.39.8.x", 20, "administrator", "abc@123")){
ftpupload.createDir("/UPLOAD");
【javaftp代码 java lftp】ftpupload.disconnect();
}
}
如何用java实现ftp客户端程序FTP 的主要操作都是基于各种命令基础之上的 。常用的命令有: · 设置传输模式 , 它包括ASCⅡ(文本) 和BINARY 二进制模式; · 目录操作,改变或显示远程计算机的当前目录(cd、dir/ls 命令); · 连接操作,open命令用于建立同远程计算机的连接;close命令用于关闭连接; · 发送操作 , put命令用于传送文件到远程计算机;mput 命令用于传送多个文件到远程计算机; · 获取操作,get命令用于接收一个文件;mget命令用于接收多个文件 。编程思路 根据FTP 的工作原理,在主函数中建立一个服务器套接字端口,等待客户端请求,一旦客户端请求被接受,服务器程序就建立一个服务器分线程,处理客户端的命令 。如果客户端需要和服务器端进行文件的传输,则建立一个新的套接字连接来完成文件的操作 。编程技巧说明
java中怎么实现ftp服务器学习了计算机网络之后,利用java写了一个ftp服务器 。
一、实现的ftp命令
实现了基本的user,pass,list,port,quit,retr,cwd,stor等命令
二、以上命令所对应的功能
对应的功能是:下载,上传,获取服务器目录,切换目录等
三、用于测试的ftp客户端:windows自带的ftp客户端
四、实现的思想
1、使用ServerSocket进行监听,每个控制连接的请求到来之后,开启一个线程进行处理(这里使用的java bio,效率较差,对于控制连接最好使用NIO处理,之后会再写个
nio的实现)
2、 对于命令使用工厂方法模式进行设计,当需要添加新的命令的时候 , 只需要添加一个新的命令类,实现相应接口,修改工厂产生逻辑,而不用修改其他的程序代码 。可
扩展性较好 , 同时符合开闭原则 。
五、实现过程中碰到的问题
1、对于tcp与socket的关系理解错误,以为所有的数据的输入都是要经过serverSocket().accept()方法 。其实,ServerSocket.accept()所对应的是tcp里面的三次握手建
立连接的阶段,之后的tcp的连接由客户端和服务器端的一对socket来维护,是属于establish阶段,在这个阶段,通信是全双工的,任何一方都能够发送数据 。

推荐阅读