引言:
Java標準API中沒有包含關于使用FTP協議進行網絡編程的工具包,但是Jarkata提供了這樣的工具包。下面我們來看一下如何利用Jarkata提供的網絡包進行FTP編程。
內容:
使用FTP協議訪問FTP服務器資源應按照下面三步實現:
1、創建FTPClient對象;
2、建立連接;
3、訪問文件列表及下載相關資源。
示例代碼如下(引用1):
import java.io.IOException;
import java.net.SocketException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.net.ftp.*;
/**
* @author Daniel Summer(danny_xcz@163.com)
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class Test {
private static FTPClient ftp_ = new FTPClient();
public static void main(String[] args) {
try {
ftp_.connect("ftp.ujs.edu.cn");
System.out.println("Connecting...");
ftp_.login("anonymous", "");
System.out.println("Connetcted");
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
FTPFile[] files = null;
FTPListParseEngine engine;
ftp_.changeWorkingDirectory("/");
files = ftp_.listFiles();
System.out.println("Directory is " + ftp_.printWorkingDirectory());
System.out.println(files[0].getName());
System.out.println(files[0].isDirectory());
System.out.println(files[0].getRawListing());
System.out.println("***********************");
ftp_.changeWorkingDirectory("/pub");
files = ftp_.listFiles();
System.out.println("Directory is " + ftp_.printWorkingDirectory());
System.out.println(files[1].getName());
System.out.println(files[1].isDirectory());
System.out.println(files[1].getSize());
System.out.println(files[1].getTimestamp().getTime());
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm");
System.out.println(dateFormat.format(files[1].getTimestamp().getTime()));
int idx = files[1].getRawListing().indexOf(" ");
System.out.println(files[1].getRawListing().substring(0,idx--));
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
參考信息:
1、Jarkata工具包相關網址:http://jakarta.apache.org/commons/net/
2、Jarkata Commons Net包下載:http://jakarta.apache.org/site/downloads/downloads_commons-net.cgi