废话不多说了,直接给大家贴java代码了。
import java.io.IOException; import sun.net.TelnetInputStream; import sun.net.ftp.FtpClient; public class MyFtp { static FtpClient myFtp; static String hostname; static String username; static String password; /** * @author cutelion 20051108 14:27 * @param args */ public static void main(String[] args) { try { hostname = "203.171.236.123"; myFtp = new FtpClient(hostname); myFtp.login("user", "pass"); myFtp.binary(); showFileContents(); } catch (IOException e1) { System.out.print(e1); } } public static void showFileContents() { int ch; StringBuffer buf = new StringBuffer(); try { TelnetInputStream inStream = myFtp.list(); while ((ch = inStream.read()) >= 0) { buf.append((char) ch); } System.out.print(new String(buf.toString().getBytes("iso-8859-1"), "GBK")); inStream.close(); myFtp.closeServer(); } catch (Exception e) { System.out.println("Error" + e); } } } [@more@]
下面是FtpClient类所提供的一些控制命令。
public void cd(String remoteDirectory)
该命令用于把远程系统上的目录切换到参数remoteDirectory所指定的目录。
public void cdUp():该命令用于把远程系统上的目录切换到上一级目录。
public String pwd():该命令可显示远程系统上的目录状态。
public void binary():该命令可把传输格式设置为二进制格式。
public void ascii():该命令可把传输协议设置为ASCII码格式。
public void rename(String string,String string1)
该命令可对远程系统上的目录或者文件进行重命名操作。
除了上述方法外,类FtpClient还提供了可用于传递并检索目录清单和文件的若干方法。这些方法返回的是可供读或写的输入、输出流。下面是其中一些主要的方法。
public TelnetInputStream list()
返回与远程机器上当前目录相对应的输入流。
public TelnetInputStream get(String filename)
获取远程机器上的文件filename,借助TelnetInputStream把该文件传送到本地。
public TelnetOutputStream put(String filename)
以写方式打开一输出流,通过这一输出流把文件filename传送到远程计算机。