确认消息Spring shell

时间:2016-10-02 10:43:55

标签: spring-shell

有没有办法让spring-shell命令首先请求确认消息。例如

  
    

命令

  
     

您想继续[y / n]

     
    

ý

  
     

执行命令

我在互联网上做了一些研究,但我找不到这种命令的例子。

3 个答案:

答案 0 :(得分:2)

我正在使用jline.console.ConsoleReader(spring-shell目前也使用它),因此代码如下所示:

public static boolean askYesNo(String question) {
    while (true) {
        String backup = ask(String.format("%s (y/n): ", question));
        if ("y".equals(backup)) {
            return true;
        }
        if ("n".equals(backup)) {
            return false;
        }
    }
}

public static String ask(String question) {
    question = "\n" + question + " > ";

    try {
        ConsoleReader consolereader = new ConsoleReader();
        return consolereader.readLine(question);
    } catch (IOException e) {
        e.printStackTrace();
    }

    return null;
}

答案 1 :(得分:0)

您可以阅读System.in并继续/中止执行您的命令。

答案 2 :(得分:0)

 try {

      System.out.println("** Press 'y' to delete  OR  'n' to cancel operation **");

        ConsoleReader consolereader = new ConsoleReader();


        int readCharacter = consolereader.readCharacter('y','n');//just can read 'y' and 'n' char. y=121 , n=110


        System.out.println(readCharacter);

       if (readCharacter == 121) {
          // do delete  operation
        } else if (readCharacter == 110) {
          // do cancel operation
        }


    } catch (Exception e) {
        e.printStackTrace();
    }

**按'y'删除或按'n'取消操作**

121