如何使用Java从CLI读取消息正文的段落

问题描述

我正在开发一个程序,该程序读写一个Excel文件,其中包含有关不同公司的数据,例如其位置,电话号码和电子邮件地址。由于我仍在大学学习,并且还没有研究如何制作合适的界面,因此该程序以cmd窗口的形式运行,并且您每次使用keyboard.nextLine()时都必须使用keyboard.nextLine()来浏览程序菜单并编写文本想传递到下一行。

该程序的功能之一是使用关联的电子邮件地址将个性化邮件发送给特定的公司或公司列表。当我要求用户编写消息的正文段落时,就出现了挣扎。由于我使用clear作为输入,因此每次用户希望使用“简介”键传递到下一行时,扫描仪都会停止读取。我可以制定一种方法,将String输入一直添加到String变量中,直到用户说出来为止,但我希望用户能够完全自由地自由编写,重新编写和删除他/她想要的消息。 ;因此使用这个想法对用户来说太烦人了。

我曾考虑过在用户不得不写下文本时将文本文件作为窗口打开,然后让程序将该文件写入String变量。但我无法成功实现此目的。我试图回收一种发现来清除cmd窗口的方法,将text.txt命令更改为public static void openText(){ try { if (System.getProperty("os.name").contains("Windows")) { new ProcessBuilder("cmd","/c","cls").inheritIO().start().waitFor(); } else { Runtime.getRuntime().exec("c:Body.txt"); } } catch (IOException | InterruptedException ex) {} } ,但是它根本不起作用:

cmake "./Sources" -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=Release -DCMAKE_GENERATOR_PLATFORM=x64 -DCMAKE_INSTALL_PREFIX="./Build" -DCMAKE_C_FLAGS="-DNDEBUG -MT -Ob2 -O2 -FS"

因此,我想知道如何打开想像中的可编辑文本窗口,或者如何解决未曾想到的此问题。

解决方法

您看过Swing吗?

这比做命令行交互要困难得多。

基本上,您需要一个JFrame,其中包含JTextArea和一个“确定”按钮。

这是一个很好的示例,其中甚至具有剪切/复制/粘贴按钮: Java Swing | Create a simple text editor