我正在用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 类。这毕竟是一项学术练习:锻炼自己的大脑,不要向别人询问答案。
关于java - 输入不应超过 xxx KB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27927391/