gpt4 book ai didi

java - 在 Java 程序中实现命令历史记录?

转载 作者:行者123 更新时间:2023-12-01 18:00:12 25 4
gpt4 key购买 nike

我需要一些编码建议。我编写了一个简单的 Java 程序,该程序在我公司的一个内部网站中运行。它是一个命令行程序,用户可以在其中输入诸如将文件1复制到远程1比较文件1与文件2存档差异等命令。我的同事喜欢它并经常使用它。

问题是用户的命令往往很长且重复。他们问我是否可以在程序中实现命令历史记录。这样,他们就可以使用向上箭头或其他东西来滚动、编辑和重新提交以前的命令。无需记住在先前 session 中输入的命令,只需记住当前 session 即可。

我考虑过,我想我可以从头开始想出一个解决方案......但这需要几周的时间来开发。我宁愿实现一个可用的包或模块,如果存在并且不会太麻烦的话。我知道这是一个开放式问题,但有人可以推荐这样的资源吗?

最佳答案

我不明白为什么要花这么长时间来开发。这是一个基本的解决方案:

class CommandSession {
private List<Command> commands = new ArrayList<>();
private ListIterator<Command> scroller;

public void execute(Command command) {
scroller = null;
commands.add(command);
command.execute();
}

public Command scrollUp() {
if (scroller == null) {
scroller = commands.listIterator(commands.size());
}
if (scroller.hasPrevious()) {
return scroller.previous();
}
return null;
}
}

您可以通过各种方式对其进行调整以获得更高级的功能,但总的来说,这是一个非常基本的概念。

关于java - 在 Java 程序中实现命令历史记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41604430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com