Jag håller på med en applikation där jag läser in saker i ett objekt. Tekniken för att spara ned objekt heter Serialization. Sök på "Serialization" på Pellesoft och Google så hittar du snabbt exempelkod. Det krävs inte mycket kod så det är inte svårt alls. Du kan välja att spara ned till databas eller fil, eftersom man skriver till ett Stream-objekt. Hultan tack ska du ha, jag hittade en hel del kod men jag får ändå inte till det hela... Om det bara är dictionarien du är ute efter att spara så kan su ju bara skriva ut den enkelt till t.ex. en tabseparerad fil Hej, Spara ner objekt till fil?
<code>
Private IPCache As System.Collections.Specialized.StringDictionary = New System.Collections.Specialized.StringDictionary()
</code>
och i denna adderar jag en massa info...
Men detta objekt förstörs ju givetvis när jag stänger av...
Går det på något sätt att spara ner objektet till fil?
Väldigt tacksam för svar!Sv: Spara ner objekt till fil?
Sv: Spara ner objekt till fil?
Jag har en liten applikation där jag läser igenom en logfil där jag kör DNS-uppslag.
Objektet jag har ser ut så här:
<code>
Private IPCache As System.Collections.Specialized.StringDictionary = New System.Collections.Specialized.StringDictionary()
Public Function Decode(ByVal IPAddress As String) As String
Dim Result As String = ""
If IPCache.ContainsKey(IPAddress) Then
Result = IPCache(IPAddress)
Else
Try
Result = System.Net.Dns.Resolve(IPAddress).HostName
Catch
Result = IPAddress
End Try
IPCache.Add(IPAddress, Result)
End If
Return Result
End Function
</code>
När jag kört en logg på några hundra MB så brukar IPCachen vuxit ganska bra och då vill jag ju som sagt inte sumpa den...
Har du någon exempelkod för just detta scenario så vore jag evigt tacksam :)Sv: Spara ner objekt till fil?
Det är bara att iterera igenom alla poster och skriva ut dem till en fil. Sen kan du ju bara läsa tillbaka dem och lägga till dem i en tom StringDictionary.
kolla här t.ex. http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemCollectionsSpecializedStringDictionaryClassGetEnumeratorTopic.asp?frame=trueSv: Spara ner objekt till fil?
här har jag knåpat ihop ett litet exempel åt dig som sparar ner ett objekt på som fil.
Dock skrev jag det ej i VB .Net då jag sitter mest i C#, gick snabbast så...
Kan du tolka det tror du? Annars kan jag göra det till VB .Net imorgon då jag har mer tid.
<code>
[Serializable] 'Måste sättas på alla dina objekt som skall skrivas ner på disk
public class Foo {
public int foo1 = 0;
public int foo2 = 0;
public String fooString = null;
}
Foo foo = new Foo(); 'Skapa ditt objekt
foo.foo1 = 1;
foo.foo2 = 24;
foo.fooString = "Hejsan";
IFormatter formatter = new BinaryFormatter(); 'Sätt upp en BinaryFormatter
Stream stream = new FileStream("MyFile.bin", FileMode.Create, FileAccess.Write, FileShare.None); 'Skala en filström med namnet på den fil du vill spara datan i
formatter.Serialize(stream, foo); 'Serilizera den
stream.Close(); 'Stäng strömen. KLART!
</code>
Att läsa in den igen går nästan på salla sätt. Anvä Deserializes istället.
Mvh Johan