diff --git a/src/LINQ/LINQ/test/resourceTest.vb b/src/LINQ/LINQ/test/resourceTest.vb
new file mode 100644
index 0000000..0aa4370
--- /dev/null
+++ b/src/LINQ/LINQ/test/resourceTest.vb
@@ -0,0 +1,6 @@
+Module resourceTest
+
+ Sub Main()
+
+ End Sub
+End Module
diff --git a/src/LINQ/LINQ/test/test.vbproj b/src/LINQ/LINQ/test/test.vbproj
index d21a6f7..53fe393 100644
--- a/src/LINQ/LINQ/test/test.vbproj
+++ b/src/LINQ/LINQ/test/test.vbproj
@@ -44,7 +44,7 @@
On
- test.Program
+ test.resourceTest
true
@@ -89,6 +89,7 @@
+
diff --git a/src/LINQ/RQL/Resource.vb b/src/LINQ/RQL/Resource.vb
index 924ef0a..13fa710 100644
--- a/src/LINQ/RQL/Resource.vb
+++ b/src/LINQ/RQL/Resource.vb
@@ -15,6 +15,7 @@ Public Class Resource : Implements IDisposable
Sub New(res As StreamPack)
buf = res
+ index = New IndexReader(res.OpenFile("/index.dat", FileMode.OpenOrCreate, FileAccess.Read)).Read
End Sub
Public Function Add(key As String, data As Byte()) As Boolean
@@ -63,6 +64,18 @@ Public Class Resource : Implements IDisposable
Protected Overridable Sub Dispose(disposing As Boolean)
If Not disposedValue Then
If disposing Then
+ Using ms As New MemoryStream
+ Call New IndexWriter(ms).Write(index)
+ Call ms.Flush()
+ Call ms.Seek(Scan0, SeekOrigin.Begin)
+
+ Dim file As Stream = buf.OpenFile("/index.dat", FileMode.OpenOrCreate, FileAccess.Write)
+
+ Call file.Write(ms.ToArray, Scan0, ms.Length)
+ Call file.Flush()
+ Call file.Dispose()
+ End Using
+
' TODO: 释放托管状态(托管对象)
Call buf.Dispose()
End If