2
A
回答
2
MMF具有隨機存取功能,與普通文件相比,讀取或寫入發生時有1個特定點。
使用偏移量(和指針等)不同於在流中查找。
我必須知道一開始,爲了讀取文件
你不'讀取文件末尾(偏移),您訪問內存,並且需要地址(ES),不一個流的位置。
3
當使用內存映射文件時,您基本上會獲得一個指向內存塊的指針,並以某種類型的數組的形式對其進行訪問。然後訪問文件中的特定位置是基於索引和/或基於偏移量的內存訪問。操作系統管理隱藏在後面的需求。
1
MMF是實際「映射」到虛擬內存空間的文件,因此您可以將其視爲像Dictionary(關於Array)(非常一般的比較)。當處理非常大的文件時,通過訪問該文件的塊以繼續進行,這很舒服(如果不是唯一可能的話)解決方案。我想說,可能每個視頻編輯軟件都使用這種技術。沒有別的辦法。
相關問題
- 1. 內存映射文件C++
- 2. Windows內存映射文件
- 3. 內存映射文件.NET
- 4. 內存映射文件 - 映射結構而不是文件?
- 5. 文件系統 - 內存映射文件
- 6. 截斷內存映射文件
- 7. 追加到內存映射文件
- 8. 內存映射文件問題
- 9. 鏈接增強內存映射文件
- 10. 內存映射文件的使用
- 11. 內存映射文件偏移量低
- 12. 內存映射文件 - FileNotFoundException異常
- 13. 內存映射,文件在Windows
- 14. C++:內存映射文件上的Fetch_add
- 15. 內存映射庫的文件名osx
- 16. Java內存映射文件和交換
- 17. C#內存映射文件 - 位圖
- 18. 識別內存映射文件
- 19. .NET 4內存映射文件
- 20. 內存映射文件有多大?
- 21. c#內存映射文件讀
- 22. Java - 內存映射文件和刷新
- 23. C#訪問內存映射文件
- 24. 內存映射文件的位置
- 25. numpy數組的內存映射文件
- 26. 何時使用內存映射文件?
- 27. 內存映射文件的Java NIO
- 28. 內存映射文件在ASP.NET
- 29. 截斷內存映射文件
- 30. Linux內存映射文件(刪除)
.1。這不是尋求光盤明智,它意味着沒有像在流中尋求。你可以在文件中跳轉,因爲你將它作爲數組訪問。 STREAM你會改變立場 - 這是更笨拙的編程明智。 – TomTom 2012-03-27 09:16:25
如果我有一個100 MB的記錄文件(人員類)。它不可能像這樣訪問其中間內容。所以我不得不從一開始就開始,然後通過記錄閱讀reciord直到需要的記錄。我不能在陣列中間......? – 2012-03-27 09:25:58
你如何訪問MMF?作爲一個流? – 2012-03-27 09:33:26