需要匯入edtftpj包,這是
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import com.enterprisedt.net.ftp.FTPClient;
import com.enterprisedt.net.ftp.FTPConnectMode;
import com.enterprisedt.net.ftp.FTPException;
import com.enterprisedt.net.ftp.FTPMessageCollector;
import com.enterprisedt.net.ftp.FTPTransferType;
public class TestFtp {
static String FTPSERVER = "ftp3.nofeehost.com";
/**ftp server 連接埠,ftp預設的連接埠都是21*/
static int FTPPORT = 21;
/**ftp 使用者名稱 */
static String FTPUSER = "test";
/**ftp 使用者密碼 */
static String FTPPSWD = "test";
/**檔案存放的路徑*/
static String filePath = "D:/testftp/";
/**檔案名稱*/
static String fileName = "Blue hills.jpg";
public static void main(String[] args) {
try {
System.out.println("connnect...");
FTPClient ftp = login();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
formatter = new SimpleDateFormat("yyyy-MM-dd");
String time = formatter.format(calendar.getTime());
try {
ftp.mkdir(time);
} catch (Exception e) {}
ftp.chdir(time);
try {
ftp.mkdir("images");
} catch (Exception e) {}
ftp.chdir("images");
System.out.println("make dir success");
File file=new File(filePath);
String [] fileList=file.list();
for (int i = 0; i < fileList.length; i++) {
try {
} catch (Exception e) {}
System.out.println("file : "+(i+1));
/**put(源,目的)這裡的路徑可以用相對路徑或絕對路徑*/
ftp.put(filePath + fileList[i], fileList[i]);
}
ftp.quit();
ftp = login();
ftp.chdir(time);
ftp.put(filePath+fileName,fileName);
ftp.quit();
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (FTPException e) {
e.printStackTrace();
}
}
private static FTPClient login() throws IOException, FTPException{
FTPClient ftp = new FTPClient();
ftp.setRemoteHost(FTPSERVER);
ftp.setRemotePort(FTPPORT);
ftp.setControlEncoding("GBK");
FTPMessageCollector listener = new FTPMessageCollector();
ftp.setMessageListener(listener);
ftp.connect();
ftp.login(FTPUSER, FTPPSWD);
/**設定串連模式 */
ftp.setConnectMode(FTPConnectMode.ACTIVE);
/**設定傳送模式 為二進位模式*/
ftp.setType(FTPTransferType.BINARY);
System.out.println("connnect success");
return ftp;
}
}