代码之家  ›  专栏  ›  技术社区  ›  Vitalii

将已打印的值更新到终端并用java读取

  •  0
  • Vitalii  · 技术社区  · 6 年前

    我需要为操作符创建一些简单的接口来验证一些字符串。我想最简单的方法是在控制台中进行。

    下一步是:

    • 字符串被打印到控制台
    • enter ,如果出现错误,他将更新已打印的字符串并单击 进入 . 运算符不能再次键入字符串,因为它可能很长。
    • 操作员看到新字符串等。

    是否可以用java中的简单控制台实现这一点?我试着用 PipedOutputStream PipedInputStream 像这样的溪流

    public static void main(String[] args) throws Exception{
        PipedOutputStream pipeOut = new PipedOutputStream();
        PipedInputStream pipeIn = new PipedInputStream(pipeOut);
        System.setIn(pipeIn);
    
        System.out.print("My string to verify");
    
        BufferedReader br = new BufferedReader(new InputStreamReader(pipeIn));
        String verified = br.readLine(); 
    }
    

    有两个问题:

    • 光标移动到下一行,看起来 br.readLine();
    1 回复  |  直到 6 年前
        1
  •  0
  •   Ramiro Vargas    6 年前

    据我所知,这只是一个字符串和用户输入之间的游戏。这个例子使用用户字符串的输入

    import java.io.*;
    import java.text.*;
    import java.util.*;
    
    public class MyClass {
        private static final Scanner scanner = new Scanner(System.in);
        public static void main(String[] args) throws Exception{
            BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out));
            String s = "My string to verify";
            System.out.println(s); 
            //Do what you need with s;
            //edit it
            String s2 = scanner.nextLine();
    
            bufferedWriter.write(s2);
            bufferedWriter.close();
            scanner.close();
    
        }
    }