我需要在2個接口之間實現一個包裝,我不能做任何改變。基本上,包裝器需要將Java風格的流式文件訪問轉換爲標準的C風格fopen/fread/fwrite/file訪問(用java實現)。包裝必須實現調用者所需的隨機文件訪問方法,這意味着open/read/write/close/seek/flush/size/truncate;包裝器必須調用一組標準的java文件流方法來提供調用者,被調用者提供輸入流和輸出隊列。Java,將文件流轉換爲隨機訪問文件
我看到java.io.RandomAccessFile,它將C風格轉換爲java風格,我需要顛倒過來。最難的部分是seek()。有沒有什麼好的(有效的)方式來做到這一點。
您可以在整個數據流傳輸到內存緩衝區('ByteArrayOutputStream'會自動增長;'toByteArray'將返回底層的'byte []'),然後你可以對其進行隨機訪問......但這是一個駭人聽聞的解決方案。 – oldrinb 2012-08-08 16:53:27
這個鏈接可以幫助你。 [http://www.coderanch.com/t/277378/Streams/java/InputStream-RandomAccessFile-best-way](http://www.coderanch.com/t/277378/Streams/java/InputStream-RandomAccessFile-最好的方式) – 2012-08-08 16:50:10
Pramod給了我第一個非常有用的評論。 Pramod,你會創建一個答案而不是評論,以便我可以給你信用?謝謝。 – brewphone 2012-08-10 14:59:15