Java 向扫描仪获取假用户输入?(将用户输入从swing假控制台重新路由到解析器中的扫描仪)

Java 向扫描仪获取假用户输入?(将用户输入从swing假控制台重新路由到解析器中的扫描仪),java,stream,java.util.scanner,Java,Stream,Java.util.scanner,我在java方面有点新手,所以我希望这将是一个容易回答的问题 我正在修改一个基于控制台/文本的游戏,使其也有一些GUI,游戏通常使用解析器中的扫描仪扫描用户输入。我从Beanshell 2中添加了一个JConsole,并使用tukushans方法重定向了那里的输出 然而,现在我需要学习如何将用户从这个控制台发出的命令”发送到解析器中的扫描器。解析器中与此相关的代码是: import java.util.Scanner; public Parser() { reader = new S

我在java方面有点新手,所以我希望这将是一个容易回答的问题

我正在修改一个基于控制台/文本的游戏,使其也有一些GUI,游戏通常使用解析器中的扫描仪扫描用户输入。我从Beanshell 2中添加了一个JConsole,并使用tukushans方法重定向了那里的输出

然而,现在我需要学习如何将用户从这个控制台发出的命令”发送到解析器中的扫描器。解析器中与此相关的代码是:

import java.util.Scanner;

public Parser() 
{
    reader = new Scanner(System.in);
}

...


String inputLine;   // will hold the full input line
    String word1 = null;
    String word2 = null;

    System.out.print("> ");     // print prompt       

    inputLine = reader.nextLine();

    // Find up to two words on the line.
    Scanner tokenizer = new Scanner(inputLine);
    if(tokenizer.hasNext()) {
        word1 = tokenizer.next();      // get first word
        if(tokenizer.hasNext()) {
            word2 = tokenizer.next();      // get second word
            // note: we just ignore the rest of the input line.
        }
    }
    return etc.
我的主要问题是,人们通常如何创建一个伪输入流并将其提供给类似扫描仪的阅读器?


如果你能回答这个问题和/或将我重定向到好的文档中,我将非常高兴^ ^我希望有了这些知识,我将自己找到一种方法,将这个控制台连接到我的扫描仪。但是,如果您也回答了如何为JConsole实现这一点,那将是非常棒的,如果您回答了,那么您也应该将其发布在

也许您正在寻找?@IREREPHANT nope当我做
公共静态字符串systemFakeIn=“go north”;StringReader theStringReader=新的StringReader(systemFakeIn);读卡器=新扫描仪(读卡器)
I get
java.util.NoSuchElementException:java.util.Scanner.nextLine(Scanner.java:1585)中找不到任何行
inputLine=reader.nextLine()