import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
public class TfpTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
boolean result = connectFtp("D://关于要上传的文件.docx");
if(result){
System.out.println("上传成功");
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static boolean connectFtp(String url) throws IOException{
boolean result = false;
FTPClient ftp = new FTPClient();
FileInputStream fis = null;
try {
ftp.connect("192.168.7.88",21);//指定ftp IP和端口
ftp.login("administrator", "1");//用户名和密码
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);//指定传递类型:为2进制
ftp.setBufferSize(1024);//读取文件流频率
ftp.setControlEncoding("UTF-8");//解决中文乱码时使用
File file = new File(url);
fis = new FileInputStream(file);//将要上传的文件转换文件流
int reply=ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return result;
}
result = ftp.storeFile(new String("关于要上传的文件.docx".getBytes("GBK"),"iso-8859-1"), fis);
} catch (Exception e) {
e.printStackTrace();
}finally{
closeFtp(ftp);
if(null != fis){
fis.close();
}
}
return result;
}
/**
* 关闭ftp连接
* @param ftp
* @throws IOException
*/
public static void closeFtp(FTPClient ftp) throws IOException{
if(ftp.isConnected()||null != ftp){
ftp.logout();
ftp.disconnect();
}
}
}