
Java如何看一共打印了几行
用户关注问题
Java中如何统计控制台输出的总行数?
在Java程序运行过程中,我想知道控制台已经打印了多少行输出,应该怎么实现?
使用计数器记录打印行数
可以在每次打印输出时,手动维护一个计数器变量,每次调用打印方法时将计数器加一,从而记录打印了多少行。例如,每次调用System.out.println()时,在代码中对应的位置将计数器count++,这样就可以获得已经打印的行数。
如何通过代码确定Java程序输出的行数而不手动计数?
我想知道有没有办法让程序自动统计输出了多少行,而不需要在每处打印语句增加计数器?
重定向输出流并统计行数
可以通过重定向System.out输出流,将所有打印信息先写入自定义的输出流中,再由该流进行统计。具体做法是继承PrintStream或使用ByteArrayOutputStream捕获输出内容,然后统计其中换行符出现的次数,即可得到输出行数。
Java中打印行数的需求在测试中如何实现?
在单元测试中,我想验证程序打印了预期的行数,有什么推荐的方法?
结合输出内容捕获与断言实现行数验证
在测试用例中,可以使用ByteArrayOutputStream结合PrintStream捕获System.out的输出内容,然后将捕获的字符串按换行符分割,统计数组长度即为打印行数。接着通过断言判断实际打印行数和预期是否一致,从而完成行数验证。