谁能帮忙写个java ftp上传的例子,感激不尽

解决方案 »

  1.   

    package com.skylink.callcenter.ftp;import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;import sun.net.TelnetOutputStream;
    import sun.net.TelnetInputStream;
    import sun.net.ftp.FtpClient;public class download {
    String localfilename; String remotefilename; FtpClient ftpClient;

    // server:服务器名字
    // user:用户名
    // password:密码
    // path:服务器上的路径
    public void connectServer(String ip, int port,String user
                    , String password,String path) { try {
    ftpClient = new FtpClient();
    ftpClient.openServer(ip,port);
    ftpClient.login(user, password);
    System.out.println("login success!");
    if (path.length() != 0) ftpClient.cd(path);
    ftpClient.binary();
    } catch (IOException ex) {
    System.out.println("not login");
    System.out.println(ex);
    }
    } public void closeConnect() {
    try {
    ftpClient.closeServer();
    System.out.println("disconnect success");
    } catch (IOException ex) {
    System.out.println("not disconnect");
    System.out.println(ex);
    }
    } public void upload() { this.localfilename = "D://test2//test.txt";
    this.remotefilename = "test.txt"; try {
    TelnetOutputStream os = ftpClient.put(this.remotefilename);
    java.io.File file_in = new java.io.File(this.localfilename);
    FileInputStream is = new FileInputStream(file_in);
    byte[] bytes = new byte[1024];
    int c;
    while ((c = is.read(bytes)) != -1) {
    os.write(bytes, 0, c);
    }
    System.out.println("upload success");
    is.close();
    os.close();
    } catch (IOException ex) {
    System.out.println("not upload");
    System.out.println(ex);
    }
    } public void download() { try {
    TelnetInputStream is = ftpClient.get(this.remotefilename);
    java.io.File file_in = new java.io.File(this.localfilename);
    FileOutputStream os = new FileOutputStream(file_in);
    byte[] bytes = new byte[1024];
    int c;
    while ((c = is.read(bytes)) != -1) {
    // System.out.println((char)is.read());
    // System.out.println(file_in);
    os.write(bytes, 0, c);
    } System.out.println("download success");
    os.close();
    is.close();
    } catch (IOException ex) {
    System.out.println("not download");
    System.out.println(ex);
    }
    } public void download(String remotePath,String remoteFile,String localFile) { try {
    if (remotePath.length() != 0) ftpClient.cd(remotePath);
    TelnetInputStream is = ftpClient.get(remoteFile);
    java.io.File file_in = new java.io.File(localFile);
    FileOutputStream os = new FileOutputStream(file_in);
    byte[] bytes = new byte[1024];
    int c;
    while ((c = is.read(bytes)) != -1) {
    // System.out.println((char)is.read());
    // System.out.println(file_in);
    os.write(bytes, 0, c);
    } System.out.println("download success");
    os.close();
    is.close();
    } catch (IOException ex) {
    System.out.println("not download");
    System.out.println(ex);
    }
    } public void download(String remoteFile,String localFile) { try {
    TelnetInputStream is = ftpClient.get(remoteFile);
    java.io.File file_in = new java.io.File(localFile);
    FileOutputStream os = new FileOutputStream(file_in);
    byte[] bytes = new byte[1024];
    int c;
    while ((c = is.read(bytes)) != -1) {
    // System.out.println((char)is.read());
    // System.out.println(file_in);
    os.write(bytes, 0, c);
    } System.out.println("download success");
    os.close();
    is.close();
    } catch (IOException ex) {
    System.out.println("not download");
    System.out.println(ex);
    }
    }

    public static void main(String agrs[]) { String filepath[] = { "/callcenter/index.jsp", "/callcenter/ip.txt",
    "/callcenter/mainframe/image/processing_bar_2.gif",
    "/callcenter/mainframe/image/logo_01.jpg" };
    String localfilepath[] = { "C:\\FTP_Test\\index.jsp",
    "C:\\FTP_Test\\ip.txt", "C:\\FTP_Test\\processing_bar_2.gif",
    "C:\\FTP_Test\\logo_01.jpg" };

    download fu = new download();
    fu.connectServer("172.16.1.66",22, "web_test", "123456","/callcenter");
    for(int i=0;i<filepath.length;i++){
    fu.download(filepath[i],localfilepath[i]);
    }

    //fu.upload();
    //fu.download();
    fu.closeConnect(); }
    }
      

  2.   

    String ip, int port,String user, String password,String path这几个变量都是什么意思啊?有什么用途? 谢谢给说明下
      

  3.   

    String ip ip地址, int port 访问端口,String user 用户名, String password 用户密码,String path 路径
      

  4.   

    String path 路径
    指的是什么路径
      

  5.   

    login success!
    not login
    java.io.FileNotFoundException: CWD /callcenter: 550 /call
     directory.upload success
    disconnect success
    Press any key to continue...我把例子试了试 有这个异常 帮忙看看怎么回事