我正在用Java解决一些问题,我遇到了以下问题:“输入的总大小不超过300 KB”,“输入的总大小不超过256 KB”
我的疑问是如何确保我的输入小于该值。
我实际上尝试使用
CountingInputStream (CountingInputStream input = new CountingInputStream(System.in);)
验证它。这是Google的外部jar文件。
但是当我在在线编译器中提交我的解决方案时,编译器不使用
CountingInputStream
。所以我怎么不使用这个呢?CountingInputStream input = new CountingInputStream(System.in);
System.out.println("Enter Values: ");
while (scanner.hasNext() && input.getCount() < (256 * 1024))
现在我正在做...但是有一种方法可以控制我的输入而无需使用
CountingInputStream
。请帮助 最佳答案
编写自己的类来装饰InputStream
,重写read
方法以计数字节,然后在字节数超过某个阈值时引发异常。您的驱动程序可能如下所示:
InputStream in = new ByteLimiterInputStream(new FileInputStream("file.bin"));
while(...)
in.read();
当您读取太多数据时,这将引发异常。编写
ByteLimiterInputStream
类由您决定。毕竟,这是一项学术练习:锻炼自己的大脑,不要问别人答案。