Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590

    concatenare due byte array

    Sto sbattendo da giorni su questa cosa che dovrebbe essere una stupidaggine.
    nextSingleLine() (che non ho postato perché lungo e con dipendenze esterne) legge da un file di testo e restituisce un byte[] che contiene una singola riga, oppure restituisce null se la riga comincia con alcuni caratteri speciali (";", ">").
    Il metodo nextLine() dovrebbe semplicemente restituire un "paragrafo" ossia un blocco contiguo di righe valide (quindi itero fino alla prossima riga non valida, ossia che comincia con caratteri speciali).

    Così dovrei appendere in
    byte[] read le righe valide che trovo, fino alla prossima non valida, e restituire l'array read.
    read.length è corretto, ma new String(read) non stampa nulla!

    codice:
    public byte[] nextLine(){        byte[] line = new byte[1];
            byte[] read = new byte[1];
            int i=0;
            int len;
    
    
            line = this.nextSingleLine();
            if(line==null) return null;
    
    
            while(line != null && line.length>2)
                {
                System.out.println("line:"+new String(line));
                System.out.println("line len:"+line.length);
                read=this.concat(line,read);
                System.out.println("READ:"+new String(read));
                System.out.println("READ len:"+read.length);
                line = this.nextSingleLine();   
                }
            return read;
        }
    
    
    public byte[] concat(byte[] a,byte[] b){
            byte[] c = new byte[a.length + b.length];
            System.out.println("a:"+a.length+" b:"+b.length+" concat"+c.length);
            System.arraycopy(a, 0, c, 0, a.length);
            System.arraycopy(b, 0, c, a.length, b.length);
            return c;
        }

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590
    Quel concat() funziona, il problema è che line aveva lunghezza non corretta.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.