用sun.net.ftp.FtpClient实现简单的Java FTP 上传文件代码例子
package com.lph.test;
import java.io.FileInputStream;
import java.io.IOException;
import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;
/**
* 用sun.net.ftp.FtpClient实现简单的Java FTP 上传文件代码例子
*
* <p>Title: is a Class</p>
*
* <p>Description: 类</p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: sunrise</p>
*
* @author islph
* @version 1.0
*/
public class TestFtpClient {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
FtpClient ftpClient;
String server = "localhost";
String user = "user";
String password = "password";
String path = "/home/user/file";
String filename = "sourcefile.txt";
try {
// server:FTP服务器的IP地址;user:登录FTP服务器的用户名
// password:登录FTP服务器的用户名的口令;path:FTP服务器上的路径
ftpClient = new FtpClient();
ftpClient.openServer(server);
ftpClient.login(user, password);
// path是ftp服务下主目录的子目录
if (path.length() != 0)
ftpClient.cd(path);
// 用2进制上传
ftpClient.binary();
TelnetOutputStream os = null;
FileInputStream is = null;
try {
// "descfile.txt"用ftp上传后的新文件名
os = ftpClient.put("descfile.txt");
java.io.File file_in = new java.io.File(filename);
if (file_in.length() == 0) {
throw new Exception("上传文件为空!");
}
is = new FileInputStream(file_in);
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
} finally {
if (is != null) {
is.close();
}
if (os != null) {
os.close();
}
}
System.out.println("上传文件成功!");
} catch (Exception e) {
e.printStackTrace();
}
}
}