vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Idee zu einem Filesammler 
Autor: Manfred X
Datum: 14.11.11 14:27

Einige Ideen zu einem File-Sammler.....

Im Konstruktor der Klasse wird eine Liste von Dateinamen (incl. Pfad)
übergeben.
Per GetBytes(Index) - bzw. GettText(Index) bei Textdateien -
können die Dateiinhalte abgerufen werden.
Bei Textdateien muss wie üblich der Encoder (UTF-8, Ascii o.ä.)
angegeben werden.

Laden und Speichern aller Dateiinhalte erfolgt per
Serialisierung in einer Datei.
<Serializable()> _
Public Class cFileSammler
 
    Dim _filebytes()() As Byte
    Dim _filenames() As String
 
    Public Sub New(ByVal ParamArray Files() As String)
 
        ReDim _filebytes(UBound(Files))
        ReDim _filenames(UBound(Files))
        For i As Integer = 0 To Files.Length - 1
            _filebytes(i) = _
            My.Computer.FileSystem.ReadAllBytes(Files(i))
            _filenames(i) = Files(i)
        Next i
    End Sub
 
    Public Function GetFile(ByVal index As Integer) As Byte()
        Return _filebytes(index)
    End Function
 
    Public Function Gettext(ByVal index As Integer, _
        ByVal enc As System.Text.Encoding) As String
        Return New String(enc.GetChars(_filebytes(index)))
    End Function
 
    Public Function GetFileName(ByVal index As Integer) As String
        Return _filenames(index)
    End Function
 
    Public Function Speichern(ByVal File As String) As Boolean
        Try
            Dim fm As New _
            Runtime.Serialization.Formatters.Binary.BinaryFormatter
            Dim fs As New IO.FileStream(File, IO.FileMode.Create)
            fm.Serialize(fs, Me)
            fs.Close() : fs.Dispose()
            Return True
        Catch ex As Exception
            Return False
        End Try
    End Function
 
    Public Function Laden(ByVal File As String) As Boolean
        Try
            Dim fm As New _
            Runtime.Serialization.Formatters.Binary.BinaryFormatter
            Dim fs As New IO.FileStream(File, IO.FileMode.Open)
            Dim cFs As cFileSammler = CType(fm.Deserialize(fs), cFileSammler)
            Me._filenames = cFs._filenames
            Me._filebytes = cFs._filebytes
            Return True
        Catch
            Return False
        End Try
    End Function
End Class
Zur Komprimierung von enthaltenen Texten könnte man auf die
GZIPStream-Klasse zurückgreifen.

Beitrag wurde zuletzt am 14.11.11 um 14:45:30 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Dateien wie speichern?1.467Bazi14.11.11 12:51
Re: Dateien wie speichern?931Manfred X14.11.11 13:18
Idee zu einem Filesammler909Manfred X14.11.11 14:27
Re: Idee zu einem Filesammler946Bazi14.11.11 16:38
Re: Idee zu einem Filesammler935Manfred X14.11.11 16:45
Re: Idee zu einem Filesammler898ModeratorFZelle14.11.11 17:06
Re: Idee zu einem Filesammler898Manfred X14.11.11 17:17
Re: Idee zu einem Filesammler889ModeratorFZelle14.11.11 19:07
Re: Idee zu einem Filesammler924Bazi14.11.11 22:17
Re: Idee zu einem Filesammler910ModeratorFZelle14.11.11 22:41
Re: Idee zu einem Filesammler853Bazi15.11.11 16:59
Re: Idee zu einem Filesammler848ModeratorFZelle15.11.11 19:35
Re: Idee zu einem Filesammler910Manfred X14.11.11 23:06
Re: Dateien wie speichern?836Bazi15.11.11 16:56
Re: Dateien wie speichern?849Manfred X15.11.11 17:52

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel