2010-12-10 47 views
1

Origianlly,當我創建RandomAccessFile時,我跳過了一些字節,所以那些保留爲空,但現在我需要刪除我寫的一些字節。現在,我正在做的是用空格覆蓋位置,但有沒有辦法將它重新設置爲空?是否可以將RandomAccessFile中的特殊字節設置爲空?

編輯:由於它必須包含一個值,我想知道如何將其設置回原來的值,它被跳過時默認分配。

回答

2

文件不能包含「空」字節。文件中的每個字節必須具有介於0和255之間的值。

如果要在某個點之後「擦除」所有字節,則可以使用截斷該文件的RandomAccessFile.setLength


關於你的評論:如果你想設置一些字節回到它原來的價值,我建議你在自己的類封裝了RandomAccessFile從指數到原始字節值在地圖上,你在每個呼叫更新到write。然後這個子類可以提供一種方法restore(int i),通過在地圖中查找原始值來恢復索引i處字節的值。

+0

我想我的意思是把它設置回原來的樣子 – chustar 2010-12-10 07:47:29

+0

@chustar:那麼你需要知道它最初是什麼。 – 2010-12-10 07:48:43

1

這是非常不清楚你要做什麼,但你不能從文件的開始或中間「刪除」字節。一般情況下,您可以刪除文件,但不能從中間刪除位 - 通常會創建一個新文件,只複製所需的數據,然後可能會適當地重命名文件。

相關問題