大家好!请教一个问题,请大家提供一点思路。
如下:
现在一台机器(Linux)会不定时生成一些日志文件(比如:c:/logs/xxxx.log),我现在想写个程序通过FTP去读取这些文件,然后放到本地(windows)后,再将FTP上的这些文件删除,注意:只删除某次读取的这些文件,因为在我读取的过程中,可能有一些新的文件正在生成,这些文件是不能删除的。
请问一下大家,我应该如何做。或者有没有其它的方法,比如什么定时ftp操作(不清楚)之类的...
相比这下这些方法有什么优缺点?

解决方案 »

  1.   

    你要通过FTP做么,在你的程序里给FTP传命令不就是了吗
      

  2.   

    如果你对FTP的协议熟悉,可以在命令行窗口下直接弄,如果不熟悉的话就得借助工具了
    apache的FTPClient提供了FTP客户端的实现,你去下载用用,很简单
      

  3.   

    我在本机建了一个FTP服务,用户:Adminstrator 密码:123
    我用FTP客户端工具可以连接到FTP服务器,但用程序去无法连接,ftpClient.getReplyString()的结果是530 Adminstrator无法登录...是程序的问题还是FTP服务服务器设置的问题呢?    /**
         * Connect To specify Server
         *
         * @param server
         * @param port
         * @param user
         * @param psw
         * @throws SocketException
         * @throws IOException
         */
        public boolean connect(String server, int port, String user, String psw) {
            try {
                ftpClient.connect(server, port);
                int reply = ftpClient.getReplyCode();            System.out.println(ftpClient.getReplyString());
                // Connection is OK!!
                if (!FTPReply.isPositiveCompletion(reply)) {
                    logger.info("FTP server refused connection.");
                    return false;
                }
                logger.info("Connected to Server " + server);
                // Login
                boolean login = ftpClient.login(user, psw);
                if (!login) {
                    System.out.println(ftpClient.getReplyString());
                    logger.info(ftpClient.getReplyString());
                    return false;
                }
                logger.info("Logined to Server with " + user);
                // OUT >>>
                return true;
            } catch (SocketException se) {
                logger.error("Can not Connect to Server "
                        + server + " by SocketException!!");
                se.printStackTrace();
            } catch (IOException ioe) {
                logger.error("Can not Connect to Server "
                        + server + " by IOException!!");
                ioe.printStackTrace();
            }
            return false;
        }