当前位置:  技术问答>java相关

关于用ftp和com做远程数据传输的程序。要求能够在远程的不同数据库之间传输数据,以及传输文件,如excel和txt文件。

    来源: 互联网  发布时间:2015-08-02

    本文导语:  要求写成通用程序,不局限于某一种数据库。请大家提供一些思路! | ftp 到有一个!! import java.net.*; import java.io.*; import java.util.*; class FtpClient {     static final boolean debug = false;    ...

要求写成通用程序,不局限于某一种数据库。请大家提供一些思路!

|
ftp 到有一个!!

import java.net.*;
import java.io.*;
import java.util.*;

class FtpClient {
    static final boolean debug = false;

    public static final int FTP_PORT = 21; 

    static int  FTP_SUCCESS = 1;
    static int  FTP_TRY_AGAIN = 2;
    static int  FTP_ERROR = 3;

    /** socket for data transfer */
    private Socket      dataSocket = null;
    private boolean     replyPending = false;
    private boolean     binaryMode = false;
    private boolean     passiveMode = false;
    /** user name for login */
    String              user = null;
    /** password for login */
    String              password = null;

    /** last command issued */
    String              command;

    /** The last reply code from the ftp daemon. */
    int                 lastReplyCode;

    /** Welcome message from the server, if any. */
    public String       welcomeMsg;

    /** Array of strings (usually 1 entry) for the last reply
        from the server. */
    protected Vector    serverResponse = new Vector(1);

    /** Socket for communicating with server. */
    protected Socket    serverSocket = null;

    /** Stream for printing to the server. */
    public PrintWriter  serverOutput;

    /** Buffered stream for reading replies from server. */
    public InputStream  serverInput;


    /** Return server connection status */
    public boolean serverIsOpen() {
        return serverSocket != null;
    }

/**Set Passive mode Trasfers*/
public void setPassive(boolean mode) {
passiveMode = mode;
}

    public int readServerResponse() throws IOException {
        StringBuffer    replyBuf = new StringBuffer(32);
        int             c;
        int             continuingCode = -1;
        int             code = -1;
        String          response;
        if (debug) System.out.println("readServerResponse start");
 
        try{
        while (true) {
            //if (debug) System.out.println("readServerResponse outer while loop: "+ serverInput.available());
           
            while ((c = serverInput.read()) != -1) {
  
               if (c == 'r') {
                    if ((c = serverInput.read()) != 'n')
                        replyBuf.append('r');
                }
                replyBuf.append((char)c);               
                if (c == 'n')
                    break;                
            }
 
            if (debug) System.out.println("Now past inner while loop");

            response = replyBuf.toString();
            replyBuf.setLength(0);
            if (debug) {
                System.out.print(response);
            }
            try {
                code = Integer.parseInt(response.substring(0, 3));
            } catch (NumberFormatException e) {
                code = -1;
            } catch (StringIndexOutOfBoundsException e) {
                /* this line doesn't contain a response code, so
                   we just completely ignore it */
                continue;
            }
            serverResponse.addElement(response);
            if (continuingCode != -1) {
                /* we've seen a XXX- sequence */
                if (code != continuingCode ||
                    (response.length() >= 4 && response.charAt(3) == '-')) {
                    continue;
                } else {
                    /* seen the end of code sequence */
                    continuingCode = -1;
                    break;
                }
            } else if (response.length() >= 4 && response.charAt(3) == '-') {
                continuingCode = code;
                continue;
            } else {
                break;
            }
        }
        }catch(Exception e){e.printStackTrace();}
        if (debug) System.out.println("readServerResponse done");
        return lastReplyCode = code;
    }

    /** Sends command cmd to the server. */
    public void sendServer(String cmd) {
        if (debug) System.out.println("sendServer start");
        serverOutput.println(cmd);
        if (debug) System.out.println("sendServer done");

    }
   
    /** Returns all server response strings. */
    public String getResponseString() {
        String s = new String();
        for(int i = 0;i 

    
 
 

您可能感兴趣的文章:

  • 关于FTP的块传输和压缩传输模式
  • windows unix ftp传输问题,请大家指导
  • FTP文件传输软件 Cyberduck
  • 请教各位大虾:在linux下,怎样用程序实现基于ftp传输文件?
  • 怎么利用ftp传输文件,我是小白
  • 可不可以在程序中直接使用ftp客户端的函数实现文件传输?
  • 在java中调用系统FTP命令,实现文件传输???
  • 十万火急,关于Unix下C编程(FTP传输方面)
  • telnet下面如何支持文件传输?因为客户那边有安全需求,不允许用ftp和ssh
  • Ftp下怎么判断要传输的文件是asc file还是binary file?高分求教~~!
  • 关于vmware中两个系统之间用ftp传输的流量问题(在线等)
  • 请问,如何用程序判断一个用ftp传输的文件已经完成?
  • HTML标签参考手册 iis7站长之家
  • 请问在Unix下开发ftp传输模块,有没有什么系统函数可以调用。
  • 如何用java开发基于ftp的文件传输程序?
  • FTP传输425 Can't open passive connection: Permission denied.的错误
  • 用Shell怎样实现两台主机通过ftp文件传输
  • 请教脚本中如何判断文件是否通过ftp传输成功问题
  • [加急]一个ftp传输模式问题!!(高手请进)--希望得到版主的帮助!
  • 如何在ftp server中改变ascii或binary传输模式?
  • ftp数据包监听及数据包组成问题
  • 建立一个ftp数据连接并传送或接受完毕一些数据后,能否不关闭此数据连接,下次接着用?
  • ftp服务建立不了“数据连接“,怎么解决啊???????
  • ftp数据连接如何安全阻断??
  • 高手帮忙:如何用java读取数据(从ftp服务器上一个文本文件)但不采用get的方式直接读取,打印数据内容(web方式)
  • 【提问】FTP数据连接复用的问题
  • 请问:FTP工具或者命令怎么设置,让数据路和控制路都使用默认的21端口
  • python从ftp下载数据保存实例
  • 如何绑域名,加网站,加数据库以及加ftp?
  • Linux下是否有什么FTP软件可以与mysql数据库相结合用来控制帐号?
  • FTP命令端口21,接收数据端口20?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在ACC变成中要使用发ftp传送文件,但文件名不确定,请问怎么样在程序的FTP中使用字符串变量???
  • 用ftp命令连到ftp服务器后,在ftp提示符下用什么命令可以查看本地机器当前目录有哪些文件?
  • 在linux操作系统上向ftp服务器(linux系统)上上传文件,我要纪录操作日志,得到上传到ftp服务器上的文件的路径问题?
  • 在ubanto中使用ftp命令访问ftp站点,但是文件列表显示乱码
  • 我用Linux的ftp命令登录一个ftp站点,可是不知道怎么才以一下get一个目录,而不是一个文件
  • 如何把一个文件夹连同文件夹中的所有文件ftp上传到unix虚拟机中?
  • libcurl删除ftp上的文件及新建文件夹,急!!!
  • ftp连接下无法删除程序生成的文件(cache文件)
  • Linux下怎样将ftp服务的用户名和密码写在配置文件中使得在自动ftp脚本中免去认为输入用户名和密码
  • 怎样使用FTP递归获取文件夹下的所有文件及子文件夹?
  • ftp服务器上某一目录下有很多文件,怎么把所有某类文件(如txt)一次下下来
  • ftp中ls显示文件列表时,如何让最近文件排在最后?
  • 在程序里调用ftp批处理(sh)上传文件,如何判断文件已成功上传
  • 关于ftp建立的文件权限问题
  • ftp上传文件脚本问题
  • mout 挂接远程ftp 上的一个iso文件到本地
  • 请问如何用一个bat文件实现FTP GET 一个文件
  • 我的ftp 为什么不能上传文件了?
  • 关于FTP下文件列表格式中所有者形式
  • FTP上传下载导致文件的损坏
  • java命名空间javax.print.attribute.standard类referenceurischemessupported的类成员方法: ftp定义及介绍
  • 为什么会出现ftp: ftp/tcp: unknown service
  • ftp协议介绍及ftp常用的上传下载等操作命令使用方法
  • FTP客户端Java类库 ftp4j
  • 请问如何在Redhat7.1下安装Ftp服务,如何开启Ftp帐号????请教!!!急急急急急急
  • FTP匿名登陆 LINUX 出现错误 linux FTP 550 permission
  • ubuntu装好BUM后,看不到FTP服务,如何开启FTP服务?
  • 基于Web的FTP客户端 net2ftp
  • 跨平台FTP服务器 Wing FTP Server
  • Node.js 的 FTP 客户端 node-ftp
  • FTP客户端 FTP Rush


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3