我正在使用Java掃描器對象來解析文本文件。 我需要掃描文件的一部分兩次(出於性能原因,以便我不必臨時存儲其內容)。Java掃描器「倒帶」
因此,是否有辦法將掃描儀「倒帶」到特定的文件位置?
另外,有沒有辦法克隆掃描儀,以便我可以獨立使用每個實例(即他們不會移動彼此的文件位置指針)?
非常感謝, 托馬斯
編輯:
掃描文件只有一次加工直接明顯總是可行的,但在我們現有的代碼庫創建顯著額外的複雜性,因此需要掃描文件的相同部分兩次。
簡而言之:該文件包含數千個邏輯項目並處理其中的一些項目,我需要從該項目開始存儲該項目末尾的信息。
獲得同樣的效果你有什麼表現限制?文本文件是否巨大?否則,只需多次處理它就可能是可接受的,並且在這成爲問題時進行優化。 –
重新讀取它比保存所需內容更有效的文件數量是多少GB? 10 GB,100 GB,1 TB? –
你不會使用掃描儀。你會使用真正的文件IO;無論是'RandomAccessFile'還是NIO http://docs.oracle.com/javase/tutorial/sesential/io/rafs.html –