Redian新闻
>
Windows 下 Java console application 的问题
avatar
Windows 下 Java console application 的问题# Java - 爪哇娇娃
c*t
1
好像 C/C++ 写的 Windows console app 里面,paste 一大段 text 效果非常
好。比如,如果我的 C/C++ app 是每读一行,打印一行 line number 。
即使我一下子 paste 两行的 text,显示还是
paste line 1
1
paste line 2
2
但是 Java 写的就不行,每次都是
paste line 1
paste line 2
1
2
我试过用 System.console 和 System.in 都不行,都是 buffered read 。
有什么好的解决办法么?
thx
avatar
r*l
2
从哪读:键盘输入还是文件?
BufferedReader.readLine() 就是读一行呀?

【在 c*****t 的大作中提到】
: 好像 C/C++ 写的 Windows console app 里面,paste 一大段 text 效果非常
: 好。比如,如果我的 C/C++ app 是每读一行,打印一行 line number 。
: 即使我一下子 paste 两行的 text,显示还是
: paste line 1
: 1
: paste line 2
: 2
: 但是 Java 写的就不行,每次都是
: paste line 1
: paste line 2

avatar
c*t
3
你 paste 一大段 text 试试就明白怎么回事了。

【在 r*****l 的大作中提到】
: 从哪读:键盘输入还是文件?
: BufferedReader.readLine() 就是读一行呀?

avatar
r*l
4
你总要把事情说得清楚些,要不然怎么跟你出主意呢?

【在 c*****t 的大作中提到】
: 你 paste 一大段 text 试试就明白怎么回事了。
avatar
c*t
5
你不清楚就应该不知道了。这个是 console client 方面的东西。具体点就是
non-buffered input / echo 这些东西。
只是希望找个好点的 library 解决这问题。Java 的 Console class 可谓是
最白痴的 class 。其实真正有用的就是 System.console 可以当作 isatty(),
但是 documentation 特糟糕。

【在 r*****l 的大作中提到】
: 你总要把事情说得清楚些,要不然怎么跟你出主意呢?
avatar
r*y
6
in Windows7, JDK 6
package gw.test;
public class ConsoleTest {
public static void main(String[] args) throws Exception {
int i;
while ((i = System.in.read()) != -1) {
System.out.print((char) i);
}
}
}
不知道是不是你要的
Paste一段结果如下:
D:\Project\WorkSpaces\Test\bin>java gw.test.ConsoleTest
java.io
java.io
Class InputStream
Class InputStream
java.lang.Object
java.lang.Object
extended by java.io.InputStream
extended by java.io.InputStream
All Implemented Interfaces:
All Implemented Interfaces:
Closeable
Closeable
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。