.
Anmeldung | Registrieren | Hilfe
in Suchen

Datei in String convertieren und zurueck

Letzter Beitrag 19. Aug 2011 20:59 von Se7enUltimate. 3 Antworten.
Seite 1 von 1 (4 Treffer)
Beiträge sortieren: Zurück Weiter
  • 19. Aug 2011 19:30

    • Se7enUltimate
    • Top 200 Mitwirkender
      Männlich
    • Registriert am 19. Aug 2011
    • Alsdorf
    • Beiträge 6
    • Punkte 75

    Datei in String convertieren und zurueck

    Ich moechte eine beliebige Datei (z.B. exe) in einen String convertieren um sie dann in einer INI-Datei zu speichern. Und nacher soll der String aus der INI-Datei wieder in die Ausgangsdatei convertiert werden.

    Ich habe auf Google, Bing, etc schon gesucht aber nichts gefunden. Ich hoffe einer kann mir helfen.

    Am liebsten wuerde ich das ganz mit VB.Net mach, aber C#.Net geht auch.
    System:
    Intel Core 2 Duo 2.10 GHz
    nvidia Geforce 210m
    4096MB RAM

    Windows 7 Home Premium x64 Service 1 English
    • IP-Adresse ist Registriert
  • 19. Aug 2011 20:49 Antwort zu

    • gfoidl
    • Top 25 Mitwirkender
      Männlich
    • Registriert am 07. Okt 2008
    • Waidring / Tirol
    • Beiträge 174
    • Punkte 3.125

    Datei in String convertieren und zurueck

    Hallo,

    Datei binär lesen -> base64 kodieren -> ist somit Text -> in INI speichern

    Aber für was soll das gut sein? Es gibt bestimmt andere Möglichkeiten um das übergeordnete Ziel zu erreichen.

    mfG Gü

    Programming today is a race between the programmers and software engineers to create better
    and more idiot-proof programs, and the universe, creating bigger and better idiots. So far,
    the universe is winning". - Rich Cook
    • IP-Adresse ist Registriert
  • 19. Aug 2011 20:52 Antwort zu

    • Se7enUltimate
    • Top 200 Mitwirkender
      Männlich
    • Registriert am 19. Aug 2011
    • Alsdorf
    • Beiträge 6
    • Punkte 75

    Datei in String convertieren und zurueck

    Ich programmiere im Moment ein Remoteadministrationsprogram, dass ueber TCP/IP eienen String an einen Client sendet. Und nun moechte ich auch Dateien auf die selbe Art an einen Client senden.
    System:
    Intel Core 2 Duo 2.10 GHz
    nvidia Geforce 210m
    4096MB RAM

    Windows 7 Home Premium x64 Service 1 English
    • IP-Adresse ist Registriert
  • 19. Aug 2011 20:59 Antwort zu

    • Se7enUltimate
    • Top 200 Mitwirkender
      Männlich
    • Registriert am 19. Aug 2011
    • Alsdorf
    • Beiträge 6
    • Punkte 75

    Datei in String convertieren und zurueck

    Ich habe grade im Internet eine Klasse gefunden die das kann.


    Imports System.IO
    Imports System.IO.Compression
    Imports System.Text

    Public Class FileStringConversation
        Private Sub New()
        End Sub

        Public Shared Function FileToString(Path As String) As String
            Dim mInfo As New FileInfo(Path)
            Dim mBinary As [Byte]()
            Using stream As FileStream = mInfo.Open(FileMode.Open)
                mBinary = New [Byte](mInfo.Length - 1) {}
                stream.Read(mBinary, 0, CInt(mInfo.Length))
            End Using

            Dim buffer__1 As Byte() = mBinary
            Dim memoryStream = New MemoryStream()
            Using gZipStream = New GZipStream(memoryStream, CompressionMode.Compress, True)
                gZipStream.Write(buffer__1, 0, buffer__1.Length)
            End Using

            memoryStream.Position = 0

            Dim compressedData = New Byte(memoryStream.Length - 1) {}
            memoryStream.Read(compressedData, 0, compressedData.Length)

            Dim gZipBuffer = New Byte(compressedData.Length + 3) {}
            Buffer.BlockCopy(compressedData, 0, gZipBuffer, 4, compressedData.Length)
            Buffer.BlockCopy(BitConverter.GetBytes(buffer__1.Length), 0, gZipBuffer, 0, 4)
            Return Convert.ToBase64String(gZipBuffer)
        End Function

        Public Shared Sub String2File(compressedText As String, sFile As String)
            Dim gZipBuffer As Byte() = Convert.FromBase64String(compressedText)
            Using memoryStream = New MemoryStream()
                Dim dataLength As Integer = BitConverter.ToInt32(gZipBuffer, 0)
                memoryStream.Write(gZipBuffer, 4, gZipBuffer.Length - 4)

                Dim buffer = New Byte(dataLength - 1) {}

                memoryStream.Position = 0
                Using gZipStream = New GZipStream(memoryStream, CompressionMode.Decompress)
                    gZipStream.Read(buffer, 0, buffer.Length)
                End Using

                Using stream As FileStream = File.Open(sFile, FileMode.OpenOrCreate, FileAccess.Write)
                    stream.Write(buffer, 0, buffer.Length)
                End Using
            End Using
        End Sub
    End Class
    System:
    Intel Core 2 Duo 2.10 GHz
    nvidia Geforce 210m
    4096MB RAM

    Windows 7 Home Premium x64 Service 1 English
    • IP-Adresse ist Registriert
Seite 1 von 1 (4 Treffer)

WPF Forum | ASP.NET Forum | ASP.NET MVC Forum | Silverlight Forum | Windows Phone 7 Forum | SharePoint Forum | Dotnet Jobs | Dotnet Termine | Developer Blogs | Dotnet News

Das Team | Regeln | Impressum