最佳答案:
准备条件:java实现ftp上传用到了commons-net-3.3.jar包
首先建立ftphost连接
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
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;
ftp.connect(addr);
System.out.println( "连接到:" + addr + ":" + port);
System.out.print(ftp.getReplyString());
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
System.err.println( "FTP目标服务器积极拒绝." );
System.exit( 1 );
return false ;
} else {
ftp.login(username, password);
ftp.enterLocalPassiveMode();
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
ftp.changeWorkingDirectory(path);
System.out.println( "已连接:" + addr + ":" + port);
return true ;
}
} catch (Exception ex) {
ex.printStackTrace();
System.out.println(ex.getMessage());
return false ;
}
}
|
然后再利用ftpclient的makeDirectory方法创建文件夹
1
2
3
4
5
6
7
8
|
public void createDir(String dirname){
try {
ftp.makeDirectory(dirname);
System.out.println( "在目标服务器上成功建立了文件夹: " + dirname);
} catch (Exception ex){
System.out.println(ex.getMessage());
}
}
|
断开host连接
1
2
3
4
5
6
7
|
public void disconnect(){
try {
ftp.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
|
最后是程序的调用方法
1
2
3
4
5
6
7
|
public static void main(String[] args) {
FtpUploadTest ftpupload = new FtpUploadTest();
if (ftpupload.connect( "" , "172.39.8.x" , 20 , "administrator" , "abc@123" )){
ftpupload.createDir( "/UPLOAD" );
ftpupload.disconnect();
}
}
|
其他回答:
首先保证ftp服务器的创建文件夹权限已开放,关键代码如下。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
/**
* 在当前目录下创建文件夹
*
* @param dir
* @return
* @throws Exception
*/
private boolean createDir(String dir) {
try {
ftpClient.ascii();
StringTokenizer s = new StringTokenizer(dir, "/" ); // sign
s.countTokens();
String pathName = ftpClient.pwd();
while (s.hasMoreElements()) {
pathName = pathName + "/" + (String) s.nextElement();
try {
ftpClient.sendServer( "MKD " + pathName + "\r\n" );
} catch (Exception e) {
e = null ;
return false ;
}
ftpClient.readServerResponse();
}
ftpClient.binary();
return true ;
} catch (IOException e1) {
e1.printStackTrace();
return false ;
}
}
|
其他回答2:
用ftp命令:mkdir()
可以创建文件夹。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。