package remotecall;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import sun.net.TelnetInputStream;
import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;
/**
* @author
* @Description ftp操作
*/
public class Ftp {
/**
* 获取Ftp目录下的列表
*/
String server = "";// 输入的FTP服务器的IP地址
String user = "";// 登录FTP服务器的用户名
String password = "";// 登录FTP服务器的用户名的口令
String path = "";// FTP服务器上的路径
String filename = "";// 下载的文件名
public void getftpList() {
try {
FtpClient ftpClient = new FtpClient();// 创建FtpClient对象
ftpClient.openServer(server);// 连接FTP服务器
ftpClient.login(user, password);// 登录FTP服务器
if (path.length() != 0) {
ftpClient.cd(path);
}
TelnetInputStream is = ftpClient.list();
int c;
while ((c = is.read()) != -1) {
System.out.print((char) c);
}
is.close();
ftpClient.closeServer();// 退出FTP服务器
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
}
/**
* 下载FTP上的文件
*/
public void getFtpFile() {
try {
FtpClient ftpClient = new FtpClient();
ftpClient.openServer(server);
ftpClient.login(user, password);
if (path.length() != 0)
ftpClient.cd(path);
ftpClient.binary();
TelnetInputStream is = ftpClient.get(filename);
File file_out = new File(filename);
FileOutputStream os = new FileOutputStream(file_out);
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
is.close();
os.close();
ftpClient.closeServer();
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
}
/**
* 上传文件到FTP
*/
public void putFtpFile() {
try {
FtpClient ftpClient = new FtpClient();
ftpClient.openServer(server);
ftpClient.login(user, password);
if (path.length() != 0)
ftpClient.cd(path);
ftpClient.binary();
TelnetOutputStream os = ftpClient.put(filename);
File file_in = new File(filename);
FileInputStream is = new FileInputStream(file_in);
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
is.close();
os.close();
ftpClient.closeServer();
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
}
public static void main(String[] args) {
Ftp f=new Ftp();
f.getftpList();
}
}