当前位置: 首页 > 面试题库 >

Java InputStream大小

温峻熙
2023-03-14
问题内容

我需要在不创建File实例的情况下获取InputStream的大小(以字节为单位)。使用Java NIO有什么办法吗?


问题答案:

一般的InputStream?您只需要继续读取和读取(例如,一次又一次地读入同一个缓冲区),就可以计算已读取的字节数,直到到达流的末尾为止。

当然,您将无法读取数据本身……如果要这样做,则需要在读取数据时将其保留,例如,将其复制到ByteArrayOutputStream

(如果您能够在计算长度的同时处理数据,则只需执行此操作-
当您使用循环读取数据时,每次读入相同的缓冲区时,只需增加一个计数器来记录您的数据量即可已阅读。您尚未真正向我们提供有关您要对信息流进行处理的任何信息。)



 类似资料:
  • 问题内容: 所以基本上我正在生成随机的10000个IP地址,我想存储在HashSet中找到的所有那些IP地址,但是根据我的计算,发现了大约6000个IP地址,但是在HashSet中仅存储了700个IP地址?HashSet在存储String方面是否有任何限制。任何建议将不胜感激。 问题答案: 就您而言,没有限制(限制是数组的最大大小,即2 ** 31)。 但是,仅存储 唯一 值,因此我的猜测是您仅生

  • 这听起来可能像是JavaFX ImageView设置的最大大小的重复,但它是不同的。 我想限制ImageView的最大大小。不幸的是,设置ImageView大小的唯一方法似乎是fitWidth和fitHeight,但是如果图像小于配合值,则会放大图像。 我尝试将fitWidth/fitHeight设置为0/0,并将ImageView包装到设置了maxWidth的窗格中-没有成功(图像以原始大小显示

  • 问题内容: 为什么会限制其大小? 我浏览了一些链接:http : //www.coderanch.com/t/540346/java/java/maximum-size-hold- String-buffer 。 是因为count成员变量是int吗? 假设我们有2 ^ 31-1个字符,并在其中追加了一些字符。Count成员变量将增加附加的字符数,如果Count变量已经达到最大值(2 ^ 31-1)

  • 我用两个容器运行docker的环境。我注意到Overly2文件夹太大了。当docker关闭(docker compose down)时,Overly2文件夹的大小为2.3GB。当容器运行时,Overly2文件夹将增加到4.0GB,并且随着时间的推移而增加。这正常吗? 命令停止容器: 命令,容器运行: 编辑 命令

  • 我是Java的初学者,刚开始使用Intellij作为我的IDE。 当我使用它时,有时会延迟。 我更改了我的 xms 和 xmx 以获得更大的堆大小(xms = 1024,xmx = 2048),但它抛出了一个错误。 所以,我把它回滚了。 错误消息是这样的:“初始堆大小设置为大于最大堆大小的值”。 有什么问题? 如果可能,如何增加最大堆大小? 我用的是笔记本电脑,它有8GB内存。x64Intelli

  • 我正在尝试从构建镜像。构建后,命令报告的镜像虚拟大小为1.917 GB。我登录检查大小(),它是573 MB。我很确定这个巨大的大小通常是不可能的。这是怎么回事?如何获得正确的图像大小?更重要的是,当我推送这个存储库时,大小是1.9 GB而不是573 MB。 输出

  • 有什么方法可以配置响应的最大标头大小吗? 我从netty框架中得到以下错误: 显然reactor为此添加了一个API,但我不知道在SpringWebFlux的WebClient中这是如何控制的。我正在使用以下版本 有什么想法吗?

  • 我有一个名为MyPanel extend JPanel的类,使用GridLayout。每个单元格都包含一个小部件(一个JComboBox、JTextField、JLabel)。 我的主要类extend JFrame使用GridBagLayout。当我将MyPanel添加到其中时,它会占用大量空间(所有窗口都在我的桌面空间外水平移动)。我该怎么修?这是我的主类的构造函数 MyPanel构造函数