Java连接ftp服务器实例代码

时间:2022-02-21 04:24:01

废话不多说了,直接给大家贴java代码了。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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传送到远程计算机。