我的程序生成兩個文件。產生的第一個通常是巨大的,通常大約20GB。之後的那個是'單行'文件。第二個文件的內容(一行)是第一個文件的標題。所以我的輸出應該是一個結合了這兩者的文件。在內存約束上,我無法創建另一個文件來合併這兩個文件。什麼是最好的方式來解決這個問題?合併兩個文件而不創建另一個文件
0
A
回答
0
使用Random Access File可用...
1
在文件的中間你不能只是「插入」數據。使用RandomAccessFile將覆蓋已寫入文件特定位置的數據。
因此,第一個解決方案是(如果可能的話)創建標題,然後附加20GB。如果這是不可能的,但你可以估計你的頭文件的長度(以字節爲單位),你可以在文件的開始處寫入相同長度的垃圾,然後寫入你的數據,然後到文件的開頭並寫入(覆蓋)標題。
相關問題
- 1. 如何合併兩個.apk文件並創建一個.apk文件?
- 2. 連接多個文件合併爲一個文件對象,而無需創建一個新的文件
- 3. 將兩個.IDL文件或兩個.tlb文件合併到一個文件中
- 4. 將兩個文本文件合併爲一個CSV文件
- 5. 兩個c文件並從一個文件返回值到另一個文件
- 6. 合併兩個log4j.properties文件
- 7. 合併兩個文件
- 8. 合併兩個HTML文件
- 9. 合併兩個csv文件
- 10. R:合併兩個文件
- 11. 合併兩個CSV文件
- 12. 合併兩個ASF文件
- 13. 我想水印一個PDF文件,而無需創建另一個PDF文件
- 14. 合併兩個文件或兩個表
- 15. 基於第一列合併兩個文件合併爲一個
- 16. 創建一個包含另一個jar文件的Jar文件
- 17. 合併多個文本文件,合併今天創建的文件的條件
- 18. 結合兩個不同長度的文件合併成一個文件
- 19. 將兩個文件pdf合併成一個文件覆蓋?
- 20. 將兩個聲音文件合併爲一個新文件
- 21. 將兩個XML文件合併到一個文件中
- 22. 將兩個.csv文件合併爲一個文件
- 23. 如何將兩個圖形文件合併爲一個文件
- 24. 將兩個音頻文件合併爲一個文件
- 25. 合併兩個文件一列
- 26. c#編輯txt文件而不創建另一個文件(沒有StreamWriter)
- 27. 如何將兩個wav文件合併/合併爲一個wav文件?
- 28. 從另一個文件中的文件名創建文件C++
- 29. 如何創建SQL合併發佈而不創建BCP文件
- 30. 合併兩個Makefile文件建立一個輸出
您是否事先知道標題行的* length *,即在您編寫大文件之前? – NPE 2012-02-23 15:51:46
你對文件生成有任何控制權嗎? – JProgrammer 2012-02-23 15:53:15
@aix - no。但它總是一條線。 – DragonBorn 2012-02-23 15:55:15