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

📄 batchcommand.java

📁 Java编写个人日程管理工具, 具有添加编辑日程和自动适应功能, 程序包含完整的Document和测试运行环境
💻 JAVA
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package ui;import java.io.*;import java.util.Scanner;import java.util.StringTokenizer;import java.util.Calendar;import logical.AgendaService;import exception.IOAndFileException;import exception.BadCommandException;/** * 这个方法是批处理命令的类,实现命令的解析和执行,另外输出结果字符串 * @author zouhao */public class BatchCommand implements Command{    Scanner scanner;    boolean success;    Calendar cal;    int year;    AgendaService agenda;    String filename;    String command;    BufferedReader fileinput ;    Show show;    /**     * 命令的构造函数     */    BatchCommand()    {        agenda = AgendaService.getInstance();        year=2008;        success=false;        cal=Calendar.getInstance();        show=Show.getInstance();    }    /**     * 解析命令方法,如果命令不符合语法规则,抛出异常     * @param input 用于解析的命令输入字符串     */    public void parse(String input)    {        scanner = new Scanner(input);        StringTokenizer tmp = new StringTokenizer(input);        try{            if(tmp.countTokens()!=2){throw new BadCommandException();}            if(!scanner.next().equals("batch")){throw new BadCommandException();}                success = true;        }        catch (BadCommandException e){}    }    /**     * 执行命令的方法,如果命令执行不成功,抛出异常     * @return 返回成功与否     */    public boolean Execute(){        if(success)        {            filename = scanner.next();            try{                    fileinput = new BufferedReader(new FileReader(filename));                    command = fileinput.readLine();                    while(command!=null)                    {                        System.out.println("Processing:"+command);                        command.toLowerCase();                        StringTokenizer stringtoken = new StringTokenizer(command);                        String temp=stringtoken.nextToken();                        Command com = CommandFactory.factory(temp);                        if(com==null)                        {                            command = fileinput.readLine();                            continue;                        }                        com.parse(command);                        success = com.Execute();                        if(success)                        {                            System.out.println("success to "+temp+"!");                        }                        else {System.out.println("Fail to "+temp+"!");}                        show.ToShow(com.ToString());                        command = fileinput.readLine();                    }                }            catch (FileNotFoundException e){new IOAndFileException(e);}            catch (IOException e){new IOAndFileException(e); }            }        return success;    }                /**     * 打印方法     * @return 结果字符串     */    public String ToString()    {        return "";    }}

⌨️ 快捷键说明

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