2016-12-04 37 views
0

之間插入我在我必須插入在文件的特定位置的字節數組,然後必須讀取從該位置該陣列的一個文件。我怎麼能在java中做到這一點?文件的java

+0

通過寫入必要的代碼來從一個位置讀取的字節的陣列開始。然後回到我們的問題是如何插入一個字節數組。當你這樣做時,向我們展示你的代碼。 –

回答

0
  1. Load the file as a byte array

  2. 創建有你在1得到了數組大小的字節數組+您的字節數組的大小插入。

  3. 複製前綴從文件到您的新的字節數組,也就是位置之前的字節,你的願望

  4. 複製你的字節數組包含從位置開始的子陣列

  5. 文件的後綴複製到您的字節數組。

  6. Save your byte array back to the file

這是寫作部分。至於讀取部分,您需要將文件加載到1中描述的字節數組中,然後讀取從位置到長度的子數組。

+0

你可以分享一下代碼嗎? – Mian

+0

@Mian,這不是一個代碼寫入服務。這個答案描述了問題應該被解決的方式,但是假定提問者和他的同學實際上想要解決問題。 –

0

您可以依次閱讀或在文件的任意位置寫入使用RandomAccessFile的(https://docs.oracle.com/javase/7/docs/api/java/io/RandomAccessFile.html)。

但是,如果你需要,而不會覆蓋舊插入新的數據(即轉移現有數據,以正確的),不能直接通過API來完成。例如,您可以創建一個新的空文件,從原始文件複製所有內容,直到指定位置,寫入新數據,附加原始文件中的其餘數據等。

另一種解決方案,使用FileChannels和代碼例如可以在這裏找到:https://stackoverflow.com/a/17565931/7247713