java - 输入不应超过 xxx KB

标签 java inputstream java.util.scanner

我正在用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/

相关文章:

java - Android 在循环中移动图像

java - 使用 Struts 上传图片和保存 Url

java - SwingUtilities 方法参数包含整个方法体?

java - Apache Commons exec PumpStreamHandler 连续输入

android - 下载时我应该使用多少并发网络连接?

java - 使用 java.util.Scanner 将网站数据读取到 Java 变量中

java - 获得拥有 1000 个关注者的推特用户

java - 从字节数组中读取图片

java - 在 Java 中使用 Scanner 时,在一行中匹配标记时出现问题

java - 使用扫描仪从 .txt 文件中读取度数符号