设为首页 收藏本站
查看: 1281|回复: 0

[经验分享] JAVA实现FTP服务器文件的上传,下载,删除功能

[复制链接]

尚未签到

发表于 2016-6-10 13:24:44 | 显示全部楼层 |阅读模式
JAVA实现FTP服务器文件的上传,下载,删除功能
2008/10/08 01:29   [java ]  import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.log4j.Logger;

import com.sinosoft.platform.handup.business.submitcapture.service.CaptureServiceImpl;
import com.sinosoft.platform.handup.utils.HandupInitialiser.Handup;

import sun.net.TelnetOutputStream;
import sun.net.TelnetInputStream;
import sun.net.ftp.FtpClient;

/**
* FTP文件服务器上传,下载,删除操作
* @author hejianke83
*
*/
public class FtpClientUtil{

    String localfilename;
    String remotefilename;
    FtpClient ftpClient;

    /**
     * @param ip 服务器名字
     * @param port 端口
     * @param user 用户名
     * @param password 密码
     * @param 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://1.txt";
        this.remotefilename = "test2.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 void delete_file(FtpClientUtil fu,String url) throws Exception {
     fu.ftpClient.sendServer("DELE "+url+"\r\n");
     int status = fu.ftpClient.readServerResponse();
     System.out.print("ftp delete file status:"+status);
     if(status == 250){
      System.out.println("  成功删除FTP服务器中文件");
     }
    }
   
    public static void main(String agrs[]) {

//      String filepath[] = { "/callcenter/index.jsp"};
//      String localfilepath[] = { "C:\FTP_Test\index.jsp"};
      
        FtpClientUtil fu = new FtpClientUtil();
        String url = Handup.getPropertie(Constants.PropertyKeys.FTP_SERVER_URL);
        String username = Handup.getPropertie(Constants.PropertyKeys.FTP_USERNAME);
        String password = Handup.getPropertie(Constants.PropertyKeys.FTP_PASSWORD);
//      fu.connectServer(url, 21, username,password,"");
        fu.connectServer("192.168.1.9", 21, "root","sinosoft","");

        try{
         //System.out.print(fu.ftpClient.welcomeMsg);
         fu.ftpClient.sendServer("DELE 博硕士论文/2008/10611/20208/测试上传_20080904525964/Div+CSS布局入门教程.chm\r\n");   //删除服务器上的文件
         System.out.println(fu.ftpClient.readServerResponse());
        }
        catch(Exception e)
        {
         e.printStackTrace();
        }
        //fu.upload();
        //fu.download();
        fu.closeConnect();

    }

public FtpClient getFtpClient() {
  return ftpClient;
}

public void setFtpClient(FtpClient ftpClient) {
  this.ftpClient = ftpClient;
}
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-228711-1-1.html 上篇帖子: BeanSoft 整理的资料FTP集中下载,感谢网友王先生 下篇帖子: unix安装配置ftp server(安装配置一个proftpd的实例)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表