`
hao861002
  • 浏览: 87135 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

利用ftp服务器实现文件上传下载

阅读更多

利用ftp服务器实现文件上传下载

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.richeninfo.anaplatform.gether.task;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

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

/**
 *
 * @author xth
 */
public class TerminalFtp {

    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(String localfilename,String remotefilename) {
//
//        this.localfilename = "D://test2//test.txt";
//        this.remotefilename = "test.txt";
//System.out.println("localfilename :"+localfilename);
//        System.out.println("remotefilename :"+remotefilename);
        try {
            TelnetOutputStream os = ftpClient.put(remotefilename);
            java.io.File file_in = new java.io.File(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"};

        TerminalFtp fu = new TerminalFtp();
        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();

    }
}

分享到:
评论

相关推荐

    Delphi 实现FTP连接及上传下载

    以上就是关于“Delphi实现FTP连接及上传下载”的详细知识点。通过理解和实践这些步骤,开发者可以在Delphi应用程序中集成FTP功能,提升文件管理和传输的效率。对于U_FTP这样的项目文件,通常包含示例代码、配置文件...

    VB代码利用FTP实现文件上传于下载代码和总结

    FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在互联网...以上就是关于VB利用FTP实现文件上传和下载的详细讲解,希望对您有所帮助。在实践中,可以根据具体需求调整和完善代码,以满足各种场景的需求。

    VB代码利用FTP实现文件上传于下载代码

    在Visual Basic(VB)编程环境中,我们可以利用FTP协议来实现文件的上传和下载功能。以下将详细介绍如何在VB中利用FTP进行文件操作,并提供相关的知识点。 首先,VB中的FTP操作通常需要使用System.Net命名空间中的...

    java+jsp代码实现从FTP服务器上传下载文件

    根据给定的信息,本文将详细解释如何利用Java与JSP技术来实现从FTP服务器上传下载文件的功能,并且会对部分给出的代码片段进行解读。 ### Java + JSP 实现 FTP 文件上传下载 #### 一、JSP 页面代码实现 在JSP页面...

    C#实现ftp服务器文件上传下载路径创建

    总的来说,利用C#实现FTP服务器的文件上传、下载和创建目录,不仅可以提高代码复用性,还可以方便不同语言之间的交互。通过编译为DLL和注册为COM组件,开发者可以轻松地在多个项目间共享和调用这些FTP操作功能。在...

    利用ftp协议进行文件的上传下载

    在本文中,我们将深入探讨如何利用Apache的FTPClient库在Java环境中实现FTP文件的上传与下载功能,并简要介绍如何设置FTP服务器进行测试。 1. FTP协议基础: FTP基于TCP/IP协议族,提供了双向通信,允许客户端和...

    Delphi客户端通过FTP服务器上传或下载文件或图片方法

    本文档将详细介绍如何使用Delphi客户端通过FTP服务器实现文件或图片的上传和下载操作。Delphi是一种非常强大的开发工具,广泛应用于Windows应用程序开发。通过利用Delphi提供的组件库(包括Indy组件),我们可以轻松...

    java实现对ftp服务器的上传下载操作

    总的来说,Java实现FTP服务器的上传下载操作是通过Apache Commons Net库提供的FTPClient类实现的,涉及的主要方法有连接、登录、设置模式、文件传输等。了解这些基本操作后,你就能灵活地进行FTP文件管理,无论是...

    基于Linux系统的FTP服务器的实现.pdf

    使用vsftpd服务器软件构建FTP服务器,设置FTP服务器的基本配置,例如设置FTP服务器的端口、用户验证、文件上传下载的限制等。 4. 进行安全配置 进行安全配置,例如设置FTP服务器的防火墙、设置用户的访问权限、设置...

    Labview FTP上传文件

    1. **FTP库**:Labview自带了FTP功能,其中包括了FTP客户端模块,可以用于连接FTP服务器、登录、上传和下载文件等操作。这些功能通常以VI的形式存在,例如“FTP 连接.vi”、“FTP 登录.vi”、“FTP 上传文件.vi”等...

    用Java实现FTP批量大文件上传下载

    服务器端,作者推荐使用Serv-U,一个广泛使用的FTP服务器软件,能够满足基本的上传下载需求。 总的来说,Java实现FTP批量大文件上传下载的关键在于选择合适的FTP客户端库,利用其提供的高级功能,结合Applet开发,...

    FTP服务器上传下载

    在C#编程环境中,我们可以利用.NET框架提供的System.Net.FtpWebRequest和System.Net.FtpWebResponse类来实现FTP服务器上的文件上传和下载功能。下面我们将深入探讨如何在C#中实现FTP服务器的文件操作。 首先,要...

    Java FTP 实现跨服务器文件上传下载

    ### Java FTP 实现跨服务器文件上传下载 #### 概述 在互联网技术中,FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议和服务。它主要用于实现不同主机间的文件共享和传输功能。本文将深入...

    Qt实现的FTP服务器

    本项目"Qt实现的FTP服务器"利用了Qt库来创建一个FTP服务器,实现了文件的上传和下载功能,这对于开发者来说是一个实用的工具,特别适用于测试、文件共享或构建自定义的文件管理系统。 首先,Qt是一个跨平台的应用...

    FTP服务器上传下载删除

    总之,通过 Delphi7 和 Indy9,你可以创建一个功能齐全的FTP客户端程序,实现对FTP服务器的全面控制,包括文件的上传、下载和删除。利用 `AdvStringGrid` 提供的可视化界面,用户可以更直观地管理和操作远程文件。这...

    curl实现ftp上传下载

    FTP上传涉及到将本地文件发送到远程FTP服务器。使用libcurl,我们可以通过以下步骤实现: 1. **初始化libcurl**:创建一个`CURL`指针,并调用`curl_global_init()`初始化全局设置。 2. **设置URL**:使用`curl_...

    基于ftp服务器,csv文件转换格式的文件上传下载实例

    在这个基于FTP服务器的CSV文件转换格式的文件上传下载实例中,我们将探讨如何利用FTP(File Transfer Protocol)服务进行文件的交互,以及如何处理CSV(Comma Separated Values)文件格式转换。FTP是一种标准网络...

    QT5.7ftp客户端包含单文件上传下载及服务器文件删除

    如`connectToHost()`用于建立与FTP服务器的连接,`login()`进行用户身份验证,`cd()`改变服务器目录,`put()`和`get()`分别用于上传和下载文件,以及`remove()`用于删除服务器文件。 在实现FTP客户端时,首先需要...

    Qt+libcurl实现FTP文件上传和下载

    本教程将聚焦于如何利用Qt库结合libcurl库来实现FTP文件的上传和下载功能。 首先,Qt是一个功能强大的C++图形用户界面库,它提供了一整套用于创建桌面和移动应用的工具和框架。而libcurl是一个开源的库,能够处理...

    QT5.0实现FTP服务器

    在QT5.0中实现FTP服务器,可以让我们自定义一个能够处理文件上传和下载的服务,这对于开发文件管理或共享应用非常有用。 首先,我们需要理解FTP工作原理。FTP基于TCP/IP协议,通过建立两个连接来完成文件传输:控制...

Global site tag (gtag.js) - Google Analytics