這是一個不被官方支持的
持
所以文檔也是沒有的
[url]l[/url]
這裡有該包的API
先給一個簡單的例子
void ftpList_actionPerformed(ActionEvent e) {
String server=serverEdit
String user=userEdit
String password=passwordEdit
String path=pathEdit
try {
FtpClient ftpClient=new FtpClient();//創建FtpClient對象
ftpClient
ftpClient
if (path
TelnetInputStream is=ftpClient
int c;
while ((c=is
System
is
ftpClient
} catch (IOException ex) {;}
}
void getButton_actionPerformed(ActionEvent e) {
String server=serverEdit
String user=userEdit
String password=passwordEdit
String path=pathEdit
String filename=filenameEdit
try {
FtpClient ftpClient=new FtpClient();
ftpClient
ftpClient
if (path
ftpClient
TelnetInputStream is=ftpClient
File file_out=new File(filename);
FileOutputStream os=new
FileOutputStream(file_out);
byte[] bytes=new byte[
int c;
while ((c=is
os
}
is
os
ftpClient
} catch (IOException ex) {;}
}
void putButton_actionPerformed(ActionEvent e) {
String server=serverEdit
String user=userEdit
String password=passwordEdit
String path=pathEdit
String filename=filenameEdit
try {
FtpClient ftpClient=new FtpClient();
ftpClient
ftpClient
if (path
ftpClient
TelnetOutputStream os=ftpClient
File file_in=new File(filename);
FileInputStream is=new FileInputStream(file_in);
byte[] bytes=new byte[
int c;
while ((c=is
os
is
os
ftpClient
} catch (IOException ex) {;}
}
}
看了這個例子
這個包缺點很多
其次是這個包功能過於簡單
通過返回的字符串來判斷
判斷字符串會有不好移植的問題
自己想出了一個辦法
try{
ftp
//如果過了說明file是目錄
}
catch(IOException e){
//說明file是文件
}
finally{
ftp
}
我用這種方法做過嘗試
是我的方法有錯還是別的什麼原因
如果對FTP服務沒有過高的要求
存在CLASSPATH的問題
這個包在Jakarta Commons Net library裡
下載
[url]
裡面包含了打包好的jar
[url]
這裡包含一些例子以及全部的代碼
給出一個該包的例子
import
public static void getDataFiles( String server
String username
String password
String folder
String destinationFolder
Calendar start
Calendar end )
{
try
{
// Connect and logon to FTP Server
FTPClient ftp = new FTPClient();
nnect( server );
ftp
System
server +
System
// List the files in the directory
ftp
FTPFile[] files = ftp
System
DateFormat df = DateFormat
for( int i=
{
Date fileDate = files[ i ]
if( pareTo( start
pareTo( end
{
// Download a file from the FTP Server
System
System
File file = new File( destinationFolder +
File
FileOutputStream fos = new FileOutputStream( file );
ftp
fos
file
}
}
// Logout from the FTP Server and disconnect
ftp
ftp
}
catch( Exception e )
{
e
}
}
同
connect()方法連接
net
類FTPFileEntryParser
類
同時這個commons
到class異常)
[url]
如果想要強大的FTP服務
且也是開源
這個包的問題是:
使用Jakarta Commons Net library需要在環境變量裡面編輯classpath
這是不方便的地方
另外IBM也有提供一個ftp包
From:http://tw.wingwit.com/Article/program/Java/hx/201311/27057.html