欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java连接ftp服务器实例代码

程序员文章站 2024-03-07 19:48:33
废话不多说了,直接给大家贴java代码了。 import java.io.ioexception; import sun.net.telnetinputstr...

废话不多说了,直接给大家贴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传送到远程计算机。