Ansatz um eine Datei in Java binär zu durchsuchen

Ansatz um eine Datei binär zu durchsuchen

        byte[] b; // Dateiinhalt im byte[]
        byte[] begin; // Beginn im byte[] ("begin".getBytes() #Java)
        byte[] end; // Ende im byte[] ("end".getBytes() #Java)
        int pos = 0;
        int pos2 = 0;
        int beginpos = 0;
        int endpos = 0;
        for (int i = 0; i != b.length; i++) {
            if (pos > begin.length - 1) {
                if (b[i] == end[pos2]) {
                    endpos = i;
                    if (pos2 == end.length - 1) {
                        break;
                    }
                    pos2++;
                } else {
                    pos2 = 0;
                }
            } else {
                if (b[i] == begin[pos]) {
                    if (pos == 0) {
                        beginpos = i;
                    }
                    if (pos < (begin.length)) {
                        pos++;
                    }
                } else {
                    if (pos > begin.length - 1) {
                        break;
                    } else {
                        beginpos = 0;
                    }
                    pos = 0;
                }
            }
        }

evtl Weiterferarbeitung:

byte[] split = null;
        byte[] other = null;
int splitsize = endpos - beginpos;
        if (beginpos < endpos) {
            split = new byte[splitsize + 1];
        }
        other = new byte[b.length - splitsize-1];
        int possplit = 0;
        int posother = 0;
        for (int i = 0; i < b.length; i++) {
            if (i >= beginpos && i <= endpos) {
                if (beginpos < endpos) {
                    split[possplit] = b[i];
                    possplit++;
                }
            } else {

                other[posother] = b[i];
                posother++;

            }
        }

Hinweis:

Ausgabe in Java von byte[] variablen im Ausgabefenster von z.B. NetBeans
System.out.write(byte[]);

[facebook_ilike]
Über Markus Potthast 57 Artikel
Der Senior Software Developer im Angestelltenverhältnis hat zum Hauptthema natürlich die Programmierung und Entwicklung von Webanwendungen. Gelegentlich finden sich hier auch Krazy Netzfundstücke.

Ersten Kommentar schreiben

Antworten

Deine E-Mail-Adresse wird nicht veröffentlicht.


*


eMail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.