我有一个Inputstream(用户在consol中输入的东西,System.in.read();)
现在我想将此InputStream稍后放入String中,它看起来像这样:
InputStream input = System.in;
StringBuffer out = new StringBuffer();
byte[] b = new byte[4096];
for (int n; (n = input.read(b)) != -1;) {
out.append(new String(b, 0, n));
}
System.out.println(out);
我知道有很多更好的方法。但我想完成这一个。唯一的问题是!= -1,它永远不会发生。怎么回事?所以我的结局。
THX!
答案 0 :(得分:2)
这是关于标准的做法
Scanner scan = new Scanner(System.in);
String line = scan.nextLine();
答案 1 :(得分:0)
取决于操作系统,它应该是10或13个值中的一个。
答案 2 :(得分:0)
通常[CONTROL] + [D]会结束您的应用程序的输入,这应该为您的方法调用返回-1。根据操作系统的不同,您可能需要再次尝试[ENTER],再按[CONTROL] + [D]和[ENTER]。