⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ftpwriter.java

📁 用java写的ftp服务器程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            varVal = getRequestVariableValue(varName);
        }
        
        // all statistical variables
        else if(varName.startsWith("stat.")) {
            varVal = getStatisticalVariableValue(varName);
        }
                
        // all client variables
        else if(varName.startsWith("client.")) {
            varVal = getClientVariableValue(varName);
        }
        
        if(varVal == null) {
            varVal = "";
        }
        return varVal;
    } 
    
    /**
     * Get server variable value.
     */
    private String getServerVariableValue(String varName) {
        
        String varVal = null;
        
        // server address
        if(varName.equals(SERVER_IP)) {
            InetAddress addr = m_fconfig.getDataConnectionConfig().getPassiveAddress();
            varVal = addr.getHostAddress();
        }
        
        // server port
        else if(varName.equals(SERVER_PORT)) {
            varVal = String.valueOf(m_fconfig.getServerPort());
        }
        
        return varVal;
    }

    /**
     * Get request variable value.
     */
    private String getRequestVariableValue(String varName) {
        
        String varVal = null;
        
        // request line
        if(varName.equals(REQUEST_LINE)) {
            varVal = m_request.getRequestLine();
        }
        
        // request command
        else if(varName.equals(REQUEST_CMD)) {
            varVal = m_request.getCommand();
        }
        
        // request argument
        else if(varName.equals(REQUEST_ARG)) {
            varVal = m_request.getArgument();
        }
        
        return varVal;
    }
    
    /**
     * Get statistical variable value. 
     */
    private String getStatisticalVariableValue(String varName) {
    
        String varVal = null;
        FtpStatistics stat = m_fconfig.getFtpStatistics();
        
        // server start time
        if(varName.equals(STAT_START_TIME)) {
            varVal = DateUtils.getISO8601Date(stat.getStartTime().getTime());
        }
        
        // connection statistical variables
        else if(varName.startsWith("stat.con")) {
            varVal = getStatisticalConnectionVariableValue(varName);
        }
        
        // login statistical variables
        else if(varName.startsWith("stat.login.")) {
            varVal = getStatisticalLoginVariableValue(varName);
        }
        
        // file statistical variable
        else if(varName.startsWith("stat.file")) {
            varVal = getStatisticalFileVariableValue(varName);
        }
        
        // directory statistical variable
        else if(varName.startsWith("stat.dir.")) {
            varVal = getStatisticalDirectoryVariableValue(varName);
        }
        
        return varVal;
    }
    
    /**
     * Get statistical connection variable value.
     */
    private String getStatisticalConnectionVariableValue(String varName) {
        String varVal = null;
        FtpStatistics stat = m_fconfig.getFtpStatistics();
        
        // total connection number
        if(varName.equals(STAT_CON_TOTAL)) {
            varVal = String.valueOf(stat.getTotalConnectionNumber());
        }
        
        // current connection number
        else if(varName.equals(STAT_CON_CURR)) {
            varVal = String.valueOf(stat.getCurrentConnectionNumber());
        }
        
        return varVal;
    }
    
    /**
     * Get statistical login variable value.
     */
    private String getStatisticalLoginVariableValue(String varName) {
        String varVal = null;
        FtpStatistics stat = m_fconfig.getFtpStatistics();
        
        // total login number
        if(varName.equals(STAT_LOGIN_TOTAL)) {
            varVal = String.valueOf(stat.getTotalLoginNumber());
        }
        
        // current login number
        else if(varName.equals(STAT_LOGIN_CURR)) {
            varVal = String.valueOf(stat.getCurrentLoginNumber());
        }
        
        // total anonymous login number
        else if(varName.equals(STAT_LOGIN_ANON_TOTAL)) {
            varVal = String.valueOf(stat.getTotalAnonymousLoginNumber());
        }
        
        // current anonymous login number
        else if(varName.equals(STAT_LOGIN_ANON_CURR)) {
            varVal = String.valueOf(stat.getCurrentAnonymousLoginNumber());
        }
        
        return varVal; 
    }
    
    /**
     * Get statistical file variable value.
     */
    private String getStatisticalFileVariableValue(String varName) {
        String varVal = null;
        FtpStatistics stat = m_fconfig.getFtpStatistics();
        
        // total number of file upload
        if(varName.equals(STAT_FILE_UPLOAD_COUNT)) {
            varVal = String.valueOf(stat.getTotalUploadNumber());
        }
        
        // total bytes uploaded
        else if(varName.equals(STAT_FILE_UPLOAD_BYTES)) {
            varVal = String.valueOf(stat.getTotalUploadSize());
        }
        
        // total number of file download
        else if(varName.equals(STAT_FILE_DOWNLOAD_COUNT)) {
            varVal = String.valueOf(stat.getTotalDownloadNumber());
        }
        
        // total bytes downloaded
        else if(varName.equals(STAT_FILE_DOWNLOAD_BYTES)) {
            varVal = String.valueOf(stat.getTotalDownloadSize());
        }
        
        // total number of files deleted
        else if(varName.equals(STAT_FILE_DELETE_COUNT)) {
            varVal = String.valueOf(stat.getTotalDeleteNumber());
        }
        
        return varVal;
    }
    
    /**
     * Get statistical directory variable value.
     */
    private String getStatisticalDirectoryVariableValue(String varName) {
        String varVal = null;
        FtpStatistics stat = m_fconfig.getFtpStatistics();
        
        // total directory created
        if(varName.equals(STAT_DIR_CREATE_COUNT)) {
            varVal = String.valueOf(stat.getTotalDirectoryCreated());
        }
        
        // total directory removed
        else if(varName.equals(STAT_DIR_DELETE_COUNT)) {
            varVal = String.valueOf(stat.getTotalDirectoryRemoved());
        }
        
        return varVal;
    }
    
    /**
     * Get output variable value.
     */
    private String getOutputVariableValue(int code, String basicMsg, String varName) {
        String varVal = null;
        
        // output code
        if(varName.equals(OUTPUT_CODE)) {
            varVal = String.valueOf(code);
        }
        
        // output message
        else if(varName.equals(OUTPUT_MSG)) {
            varVal = basicMsg;
        }
        
        return varVal;
    }

    /**
     * Get client variable value.
     */
    private String getClientVariableValue(String varName) {
        
        String varVal = null;
        
        // client ip
        if(varName.equals(CLIENT_IP)) {
            varVal = m_request.getRemoteAddress().getHostAddress();
        }
        
        // client connection time
        else if(varName.equals(CLIENT_CON_TIME)) {
            varVal = DateUtils.getISO8601Date(m_request.getConnectionTime().getTime());
        }
        
        // client login name
        else if(varName.equals(CLIENT_LOGIN_NAME)) {
            varVal = m_request.getUser().getName();
        }
        
        // client login time
        else if(varName.equals(CLIENT_LOGIN_TIME)) {
            varVal = DateUtils.getISO8601Date(m_request.getLoginTime().getTime());
        }
        
        // client last access time
        else if(varName.equals(CLIENT_ACCESS_TIME)) {
            varVal = DateUtils.getISO8601Date(m_request.getLastAccessTime().getTime());
        }
        
        // client home
        else if(varName.equals(CLIENT_HOME)) {
            varVal = m_request.getUser().getHomeDirectory();
        }
        
        // client directory
        else if(varName.equals(CLIENT_DIR)) {
            FileSystemView fsView = m_request.getFileSystemView();
            if(fsView != null) {
                try {
                    varVal = fsView.getCurrentDirectory().getFullName();
                }
                catch(Exception ex) {
                }
            }
        }
        return varVal; 
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -