如何使用从远程php脚本获取的二进制文件的内容创建DataInputStream?

时间:2012-01-19 11:18:41

标签: java datainputstream

我正在调用一个脚本,它给我一个带二进制数据的二进制文件(12345.cl)。脚本完成了,它正在工作,如果我将它粘贴到导航器上,我会得到二进制文件。

现在我遇到了一个问题:如何将脚本的响应转换为二进制资源以在我的应用程序中使用它?

目前,我有这段代码:

 public void decodeStream( String mURL ){  
        BufferedInputStream bis = new BufferedInputStream(new URL(mURL).openStream(), BUFFER_IO_SIZE);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        BufferedOutputStream bos = new BufferedOutputStream(baos, BUFFER_IO_SIZE);
        copy(bis, bos);
        bos.flush();

然后,我有一个带响应的BufferedOutputStream,但我不知道如何将它转换为二进制资源来使用它

我需要使用文件获取datainputstream,但我不知道如何实现它

1 个答案:

答案 0 :(得分:0)

如果您想要将文件作为二进制资源读取而不必保存它,您可以将输入流从URL包装在DataInputStream中而不是BufferedInputStream中,然后使用DataInputStream的int read(byte[] b)' or字节readByte( )`用于获取数据的函数。

如果您现在已在本地保存文件,则可以使用创建FileInputStream并使用int read(byte[] b)函数读取字节数据。