我在我的代碼中做了什麼是簡單地追加一個標記,然後使用附加標記FileOutputStream
將一些字符串數據附加到二進制文件。現在,我如何從指定的標籤開始閱讀?我不知道從哪裏開始。如何讀取從特定部分開始的二進制文件
文件和字符串大小是可變的,所以我不能真正相信它。唯一不變的是標籤。
編輯:我忘了提及該文件將從另一個線程/活動/應用程序/設備訪問。
String TAG = "CLIPPYDATA-";
String content = "The quick brown fox jumps over the lazy dog."; //size not fixed, sample purpose only.
FileOutputStream output = new FileOutputStream("/path/to/file", true);
try {
output.write((TAG + content).getBytes());
} finally {
//output.flush(); (should I?)
output.close();
}
示例輸出::
yyvAžîéÃI&8QÀ Ø +ZŠ(¢Š(¢Š(ÿÙCLIPPYDATA-The quick brown fox jumps over the lazy dog.
樣品輸入:
yyvAžîéÃI&8QÀ Ø +ZŠ(¢Š(¢Š(ÿÙCLIPPYDATA-The quick brown fox jumps over the lazy dog.
所需的輸出:
用於附加一些數據代碼
CLIPPYDATA-The quick brown fox jumps over the lazy dog.
你爲什麼不把標籤位置在文件結尾? – bladefury
@bladefury爲什麼? – pandalion98
如果你把標籤位置放在文件的末尾,比方說最後8個字節。那麼你可以這樣做:讀取最後8個字節 - >獲取標籤的位置 - >尋找位置 - >讀取標籤和內容 – bladefury