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

📄 confcommand.java

📁 Java Mail Server JAVA编写的邮件服务器
💻 JAVA
字号:
/**************************************************************** * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.     * *                                                              * * Copyright 2008 Jun Li(SiChuan University, the School of      * * Software Enginerring). All rights reserved.                  * *                                                              * * Licensed to the JMS under one  or more contributor license   * * agreements.  See the LICENCE file  distributed with this     * * work for additional information regarding copyright          * * ownership.  The JMS licenses this file  you may not use this * * file except in compliance  with the License.                 * *                                                              * * Unless required by applicable law or agreed to in writing,   * * software distributed under the License is distributed on an  * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       * * KIND, either express or implied.  See the License for the    * * specific language governing permissions and limitations      * * under the License.                                           * ****************************************************************/package org.jpxx.mail.plugin.console.command;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import org.jpxx.mail.Constants;import org.jpxx.mail.Exception.ArgumentException;import org.jpxx.mail.Service.CommandHandler;import org.jpxx.mail.Service.Session;import org.jpxx.mail.plugin.console.ConsoleStates;/** * * This command manages configuration file. *  * Syntax: * CONF <CRLF> * [String] * <CRLF>.<CRLF> *  * The config data is terminated by a line containing only a period, that  * is, the character sequence "<CRLF>.<CRLF>" .  *  * @author Jun Li * @version $Revision: 0.0.3 $, $Date: 2008/10/25 $ * @since JMS 0.0.3 */public class ConfCommand implements CommandHandler, ConsoleStates {    /**     * @see org.jpxx.mail.Service.CommandHandler#onCommand(Session session)     * @param session session The Session of Server and client     */    public void onCommand(Session session) {        int state = session.getLastAction();        if (state == AUTHENTICATION || state == TRANSACTION) {                        session.setLastAction(TRANSACTION);                        String action = null;            try {                action = session.getCommandLine().getArgument(0).toUpperCase().trim();            } catch (ArgumentException ae) {            }            if (action == null || action.equals("")) {                try {                    StringBuffer buffer = new StringBuffer(64);                    buffer.append(OK);                    buffer.append(" ");                    buffer.append("read config file.");                    session.writeResponse(buffer.toString());                    File f = new File(Constants.CONFIG_FILE_PATH);                    BufferedReader br = new BufferedReader(new FileReader(f));                    String line = br.readLine();                    while (line != null) {                        session.writeResponse(line);                        line = br.readLine();                    }                    br.close();                    session.writeResponse(".");                } catch (FileNotFoundException e) {                    StringBuffer buffer = new StringBuffer(64);                    buffer.append(ERR);                    buffer.append(" ");                    buffer.append("Logs file not exist.");                    session.writeResponse(buffer.toString());                } catch (IOException e) {                    StringBuffer buffer = new StringBuffer(64);                    buffer.append(ERR);                    buffer.append(" ");                    buffer.append("Logs fileread error.");                    session.writeResponse(buffer.toString());                }            } else if (action.equals("MOD")) {                try {                    StringBuffer buffer = new StringBuffer(64);                    buffer.append(OK);                    buffer.append(" ");                    buffer.append("Please write the config file, end with <CRLF>.<CRLF>");                    session.writeResponse(buffer.toString());                    File f = new File(Constants.CONFIG_FILE_PATH);                    BufferedWriter bw = new BufferedWriter(new FileWriter(f));                    String line = session.readLine();                                        while (line != null && !line.equals(".")) {                        bw.write(line+"\r\n");                        line = session.readLine();                    }                    bw.close();                                        buffer = new StringBuffer(64);                    buffer.append(OK);                    buffer.append(" ");                    buffer.append("Config file save successfully");                    session.writeResponse(buffer.toString());                } catch (FileNotFoundException e) {                    StringBuffer buffer = new StringBuffer(64);                    buffer.append(ERR);                    buffer.append(" ");                    buffer.append("Config file not exist.");                    session.writeResponse(buffer.toString());                } catch (IOException e) {                    StringBuffer buffer = new StringBuffer(64);                    buffer.append(ERR);                    buffer.append(" ");                    buffer.append("Config file read error.");                    session.writeResponse(buffer.toString());                }            }        } else {            StringBuffer buffer = new StringBuffer(64);            buffer.append(ERR);            buffer.append(" ");            buffer.append("CONF not allowed here");            session.writeResponse(buffer.toString());        }    }}

⌨️ 快捷键说明

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