VB_NET_Modificare file Zip

di il
26 risposte

VB_NET_Modificare file Zip

Buongiorno qualcuno potrebbe aiutarmi… ho un file .aia ( che e dello stesso formato di un file .zip) dovrei all'interno di questa directori (youngandroidproject/project.properties) eliminare la penultima linea…di questo file:

#
#Fri Jul 07 08:23:34 UTC 2023
showlistsasjson=False
minSdk=21
main=io.kodular.glak_kodular_comunity.Web_Files_New.Screen1
packagename=web_file.app
color.accent=&HFFFF4081
receiveSharedText=text,audio,video,image,
sizing=Responsive
screenNames=Screen1
color.primary.dark=&HFF303F9F
build=../build
source=../src
useslocation=False
splashEnabled=False
color.primary=&HFF3F51B5
assets=../assets
versionname=1.0
icon=INFO.png
aname=Web_Files
versioncode=1
theme=AppTheme
rtlSupport=False
projectColors=[{"hexa"\:"FFFFFFFF","freq"\:"3"},{"hexa"\:"CCDB39FF","freq"\:"1"},{"hexa"\:"FEC007FF","freq"\:"1"},{"hexa"\:"673AB7FF","freq"\:"1"}]
name=Web_Files_New

devo eliminarela penultima linea:

Questa (projectColors=[{"hexa"\:"FFFFFFFF","freq"\:"3"},{"hexa"\:"CCDB39FF","freq"\:"1"},{"hexa"\:"FEC007FF","freq"\:"1"},{"hexa"\:"673AB7FF","freq"\:"1"}])

ho fatto un codice ma non la elimina del tutto rimane qualcosa….

con questo codice…

 Sub Pulisci_File(ByVal F As String)
        Using zippedFile As ZipArchive = ZipFile.Open(F, ZipArchiveMode.Update)
            Dim entryPath As String = "youngandroidproject/project.properties"
            ''"youngandroidproject/project.properties"
            Dim ntry As ZipArchiveEntry = zippedFile.GetEntry(entryPath)
            Dim sr As New StreamReader(ntry.Open, Encoding.UTF8)
            Dim l As New List(Of String)
            Do
                Dim R = sr.ReadLine

                l.Add(sr.ReadLine)

            Loop Until sr.EndOfStream
            sr.Close()

            Dim sw As New StreamWriter(ntry.Open, Encoding.UTF8)
            Dim lunghezza As Long

            For Each s As String In l
                If Not s.StartsWith("""projectColors") Then
                    sw.WriteLine(s)
                End If

                lunghezza += s.Length
            Next
            sw.Close()
            ntry.Open().SetLength(lunghezza)
        End Using
    End Sub
    
    

26 Risposte

  • Re: VB_NET_Modificare file Zip

    Bentornato glak dopo tanto tempo

    Non ho capito se è un file di testo o un binario (in uno zip non puoi gestire le stringhe)

    Posta un file aia di esempio

  • Re: VB_NET_Modificare file Zip

    Non so come inserirlo…me lo spieghi come fare per allegare il file?

  • Re: VB_NET_Modificare file Zip

    Usa un qualsiasi sito di sharing

  • Re: VB_NET_Modificare file Zip

    https://1drv.ms/u/s!Amkr28KUAjT6o0MKkg4HQb2bLoCL

    eccolo…

  • Re: VB_NET_Modificare file Zip

    Perché leggi due volte la riga?

    Questa

    Dim R = sr.ReadLine

    la devi proprio eliminare

  • Re: VB_NET_Modificare file Zip

    Si potrebbe inserire un aterisco…all'inizio della linea project Colors…

  • Re: VB_NET_Modificare file Zip

    Hai letto quello che ho scritto ?

  • Re: VB_NET_Modificare file Zip

    Facevo prove….ora la elimino…ma non penso che sia quelllo..

  • Re: VB_NET_Modificare file Zip

    Guarda che quelle due ReadLine vanno messea posto.  

  • Re: VB_NET_Modificare file Zip

    07/07/2023 - glak ha scritto:


    non penso che sia quelllo

    Come dai tempi di masterdrive … uno ti aiuta ma tu sempre scettico …

    Oltre ad eliminare la doppia lettura devi correggere il calcolo della lunghezza

            Using zippedFile As ZipArchive = ZipFile.Open(F, ZipArchiveMode.Update)
               Dim entryPath As String = "youngandroidproject/project.properties"
               ''"youngandroidproject/project.properties"
               Dim ntry As ZipArchiveEntry = zippedFile.GetEntry(entryPath)
               Dim sr As New StreamReader(ntry.Open, Encoding.UTF8)
               Dim l As New List(Of String)
               Do
                   l.Add(sr.ReadLine)
               Loop Until sr.EndOfStream
               sr.Close()
               Dim sw As New StreamWriter(ntry.Open, Encoding.UTF8)
               Dim lunghezza As Long = 0
               For Each s As String In l
                   If Not s.StartsWith("projectColors") Then
                       sw.WriteLine(s)
                       lunghezza += (s.Length + 2)
                   End If
               Next
               sw.Close()
               ntry.Open().SetLength(lunghezza + 1)
           End Using
  • Re: VB_NET_Modificare file Zip

    Grazie Oregon… il codice funziona elimina la linea voluta… ma non ne conosco il motivo..ma quando vado a caricarlo…non lo accetta …dice che e corrotto …eppure e uguale…io volevo fare una procedura in automatico perche prima lo facevo a mano con note pad…non capisco il motivo. Cosa cambia…

  • Re: VB_NET_Modificare file Zip

    da questo errore…

  • Re: VB_NET_Modificare file Zip

    Prova così

            Using zippedFile As ZipArchive = ZipFile.Open(F, ZipArchiveMode.Update)
               Dim entryPath As String = "youngandroidproject/project.properties"
               Dim entry As ZipArchiveEntry = zippedFile.GetEntry(entryPath)
               Dim l As New List(Of String)
               Using reader As StreamReader = New StreamReader(entry.Open())
                   Do
                       l.Add(reader.ReadLine)
                   Loop Until reader.EndOfStream
               End Using
    
               entry.Delete()
               entry = zippedFile.CreateEntry(entryPath)
               Using writer As StreamWriter = New StreamWriter(entry.Open())
                   For Each s As String In l
                       If Not s.StartsWith("project") Then
                           writer.WriteLine(s)
                       End If
                   Next
               End Using
           End Using
    
  • Re: VB_NET_Modificare file Zip

    No non funziona….

Devi accedere o registrarti per scrivere nel forum
26 risposte