如何从 InputStream 读取字节?

day*_*mer 5 java inputstream

我想测试我写入的字节OutputStream(文件 OuputStream)与我从相同的InputStream.

测试看起来像

  @Test
    public void testStreamBytes() throws PersistenceException, IOException, ClassNotFoundException {
        String uniqueId = "TestString";
        final OutputStream outStream = fileService.getOutputStream(uniqueId);
        new ObjectOutputStream(outStream).write(uniqueId.getBytes());
        final InputStream inStream = fileService.getInputStream(uniqueId);
    }
Run Code Online (Sandbox Code Playgroud)

我意识到InputStream没有getBytes().

我如何测试类似的东西

assertEquals(inStream.getBytes(), uniqueId.getBytes())
Run Code Online (Sandbox Code Playgroud)

谢谢

har*_*hit 3

试试这个(IOUtils是commons-io)

byte[] bytes = IOUtils.toByteArray(instream);
Run Code Online (Sandbox Code Playgroud)

  • 我相信IOUtils是commons-io,`Java`没有提供类似的东西吗? (2认同)