2012-05-22 77 views
1

我想用y個字節替換文件的前x個字節。那就是x和y的長度不一樣。 我試圖複製到新文件。它的工作,但大型文件緩慢。我知道更換RAndomAccessfile的確切長度可以使用。但我無法將其用於我的目的。android:用y字節替換文件開頭的x個字節

非常感謝您的幫助。

回答

3

如果xy是不一樣的,你沒有選擇,而是寫y,然後寫入文件的剩餘部分,即使你正在做的是通過y - x字節偏移文件起來的其餘部分。

+0

我看到了FileChannel。這不是一個選項嗎?有沒有理由不推薦 – png

2

如果你迫切需要它快速,那麼你可以創建一個自己的隨機訪問接口,由一組不可變的文件+不可變的變更列表支持。如果您的應用程序有一定的空閒時間,那麼它可以將最後一個不可變的提交點+更改列表合併到後臺的新文件中。

一個變更可以像以前變更表的

  • 路徑作爲簡單/提交點文件
  • 偏移量和長度被替換
  • 替換數據

提交點只是整個文件。

+0

這是一個好主意。但在我的應用程序,我不會知道以前哪些文件將不得不改變。我想立即改變它。非常感謝你 – png

+0

@preetha這可以在飛行中應用。 – ron

+0

你有任何代碼示例,感謝很多 – png