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

如何将字节数组转换为整数数组

欧阳玺
2023-03-14
问题内容

我正在使用以下方式读取文件:

int len = (int)(new File(args[0]).length());
    FileInputStream fis =
        new FileInputStream(args[0]);
    byte buf[] = new byte[len];
    fis.read(buf);

我在这里发现。可以转换byte array bufInt Array吗?将转换Byte ArrayInt Array会占用更多空间吗?

编辑:我的文件包含数百万个整数,例如,

100000000 200000000 .....(使用普通的int文件写入)。我读到字节缓冲区。现在,我想将其包装到IntBuffer数组中。怎么做
?我不想将每个字节转换为int。


问题答案:

您已经在注释中说过,您希望输入数组中的四个字节对应于输出数组中的一个整数,因此效果很好。

取决于您希望字节是大端还是小端顺序,但是…

 IntBuffer intBuf =
   ByteBuffer.wrap(byteArray)
     .order(ByteOrder.BIG_ENDIAN)
     .asIntBuffer();
 int[] array = new int[intBuf.remaining()];
 intBuf.get(array);

完成,分为三行。



 类似资料:
  • 问题内容: 我有一个接收a的函数,但是我所拥有的a是进行此转换的最佳方法是什么? 我想我可以走很长一段路,然后将其放入字符串并放入字节中,但这听起来很难看,而且我认为还有更好的方法可以做到。 问题答案: 我同意Brainstorm的方法:假设您要传递机器友好的二进制表示形式,请使用该库。OP建议可能会有一些开销。纵观源的实施,我看到它做了一些运行时的决策最大的灵活性。 对?Write()接受一个非

  • 问题内容: 我想执行转换而不求助于某些依赖于实现的技巧。有小费吗? 问题答案: 您需要知道字节的字节序。 假设(例如@ WhiteFang34),其是一个长度为4的,然后… … 大端: 小端:

  • 问题内容: 将转换为的快速方法是什么? 例如 问题答案: 看看ByteBuffer类。 设置字节顺序保证了,,和。 或者,你可以手动执行以下操作: 该班是专为尽管这样的脏手任务。实际上,私有定义了以下辅助方法:

  • 问题内容: 我想从数据库中获取图像。为此,我为图像创建了一个字节数组,该数组由字符串传递,现在我想将该字符串转换为图像格式。我正在将该图像分配给Jlabel字段。代码如下: 问题答案:

  • 问题内容: 我正在尝试从字节数组加载jar,而无需将其写入文件(将其加载到内存中)。我做了一个自定义的ClassLoader,但是当我尝试使用它并加载一个类时,它给了我ClassNotFoundException。 类加载器 主要 它可以正确加载我的课程并运行它,但是我一直在遇到随机错误。 问题答案: 这有点骇人听闻,但是他做了他的工作,这段代码基本上创建了一个伪造的url方案(myjarprot

  • 有什么方法可以将byte[]转换为org.springframework.web.multipart.multipartfile??