Java中使用Apache FTP上传文件

在  Java通过Runtime类中的exec方法将文件压缩成ARJ包 中我曾提到,需要将txt打成ARJ包,然再上传到FTP服务器。现在我所要阐述的就是Java如何使用FTP上传文件。
所需要的包:
commons-net-2.0.jar
jakarta-oro.jar
废话不多时,直接上代码:

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.SocketException;

import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;

public class FtpTest {
public static void main(String[] args) {
try {
FTPClient ftpClient = new FTPClient(); //创建一个FTPClient实例
int reply = 0;
ftpClient.connect("172.16.7.2",21); //连接FTP服务器,21是FTP服务器的默认端口
ftpClient.login("admin", "admin"); //登录FTP服务器,验证用户名密码
reply = ftpClient.getReplyCode(); //获取FTP服务器回复的代码,就如网页找到资源 错误代码是404,而成功是200一样
if (!FTPReply.isPositiveCompletion(reply)) { //判断是否连接成功
ftpClient.disconnect(); //断开连接
return;
}
while(!ftpClient.changeWorkingDirectory("Web/0001")){ //改变 当前的工作目录,如果成功,则返回true,否则返回false
ftpClient.makeDirectory("Web/0001"); //如果改变工作目录是吧,则创建新的目录
}
File file = new File("C:/ftptest.txt");
InputStream inputStream = new FileInputStream(file);//将文件转成输入流
ftpClient.appendFile(file.getName(), new FileInputStream(file)); //上传文件
inputStream.close(); //关闭流
ftpClient.logout(); //注销登录,通过发送quit命令到FTP服务器
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}


PS:到此,通过JavaFTP上传文件,基本已经完成,为方便大家,代码直接copy就能使用哦。

原文地址:http://www.javaktv.com/thread-23-1-1.html

 

你可能感兴趣的:(apache)