2012-01-19 13 views
0

我打給我一個二進制文件(12345.cl)與二進制數據的腳本。該腳本已完成,並且正在工作,如果我將其粘貼到導航器上,我將獲得二進制文件。如何使用從遠程php腳本獲取的二進制文件的內容創建DataInputStream?

現在我有一個問題:我如何將腳本的響應轉換爲二進制資源以在我的應用程序中使用它?

就目前而言,我有這樣的代碼:

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與文件,但我不知道如何去實現它

+0

問題發佈兩次:[如何從遠程PHP腳本響應獲取二進制文件?](http://stackoverflow.com/questions/8923867/how-to-get-a-binary-file-from-a -remote-php-script-response) – Benjamin

+0

@MarkRotteveel DataInputStream不是XDR的實現。 – EJP

回答

0

那麼,如果你想讀的文件作爲二進制資源,而無需將其保存,你可以只是包裝輸入流從DataInputStream中的URL而不是BufferedInputStream,然後使用DataInputStream的int read(byte[] b)' or字節readByte()函數來獲取數據。

如果您現在將文件保存在本地,您可以使用創建FileInputStream並使用int read(byte[] b)函數來讀取字節數據。

相關問題