Probleme mit Streams

Status
Nicht offen für weitere Antworten.

Pappenheimer++

Bekanntes Mitglied
Hy,
ich hab folgendes Problem: Ich hab ein XML-File in meiner jar. Das will ich mit dem kxml-parser parsen; geht auch wunderbar soweit. Nur will ich den parser auch ab und zu wieder an den anfang des dokuments setzen. Der parser selbst bietet dazu keine methoden, also hab ich mir gedacht, dass ich einen unterliegenden stream resetten muss. Meine fehlgeschlagenen versuche könnt ihr im folgenden sehen. es ist umständlich und es klappt nicht. Kann man das irgendwie vernünftig lösen?


Java:
        //bytes des dokuments werden in den buffer geladen; doof und umstaendlich
        InputStream eins= getClass().getResourceAsStream("TestXML.xml");
    	byte[] buffer=new byte[eins.available()];
    	eins.read(buffer);
    	ByteArrayInputStream stream=new ByteArrayInputStream(buffer);
    	
        InputStreamReader ins = new InputStreamReader(stream);
        xpp = new KXmlParser();
        xpp.setInput(ins);



        // parsen.....


        //an den anfang des dokuments zurueck- KLAPPT NICHT
        stream.reset();


Vielen Dank für eure Hilfe
 
S

SlaterB

Gast
wenn du eh alle Daten in ein byte[] einliest, dann kannst du doch genausogut neue Streams auf das Array erzeugen + neuen Parser
bzw. hast du diese Option eigentlich immer,

was klappt denn nicht? gibts eine Exception dass schon zu viele Daten gelesen wurden?
dann musst du vielleich die Buffer-Größe des ByteArrayInputStream auf die Größe der Datei setzten,

ein eigenes byte[] ist dann evtl. nicht nötig

edit:
obwohl,
ByteArrayInputStream stream=new ByteArrayInputStream(buffer);
sollte wohl so schlau sein, genau das übergebene Array zu verwenden,
dann klappt das reset() aber der Parser kann damit nix anfangen?

bin noch für neuen Parser,
kann sonst nix sinnvolles beitragen ;)
 

Pappenheimer++

Bekanntes Mitglied
natürlich könnte ich jedesmal den stream neu erzeugen, aber das wär imho ziemlich großer overhead.
es gibt keine exception, aber der parser ist immernoch am ende des dokuments.

bin ratlos... diese stream geschichten leuchten mir nicht ein :/
 
S

SlaterB

Gast
was wäre denn der Overhead? ein-zwei Objekte = 3 ns Zeit?
 

Pappenheimer++

Bekanntes Mitglied
nagut, ich machs mal so. halte das byte[]-array als buffer und wrap da die 3 reader jedesmal neu rum.

dennoch möchte ich betonen, dass ich für elegantere lösungen stets noch offen bin ^^
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Android Probleme mit BLE-Notify Android & Cross-Platform Mobile Apps 2
J Android Probleme mit der Realm Datenbank Android & Cross-Platform Mobile Apps 3
J Android Probleme mit Navigation-Fragments? Android & Cross-Platform Mobile Apps 0
N Probleme mit custom dynamic ListView Android & Cross-Platform Mobile Apps 15
B Android Probleme mit Android Studio Android & Cross-Platform Mobile Apps 6
B Android Probleme mit Realm Datenbank Android & Cross-Platform Mobile Apps 2
B Android Probleme mit ArrayList Android & Cross-Platform Mobile Apps 6
J Android Probleme mit FileProvider Android & Cross-Platform Mobile Apps 1
B Probleme mit Firebase Authentication Android & Cross-Platform Mobile Apps 25
H Android Probleme mit SearchView in ArrayAdapter Android & Cross-Platform Mobile Apps 7
ATZENPOWER Android Probleme mit mobilen Daten via lte Android & Cross-Platform Mobile Apps 10
S Android Probleme beim Verbinden mit einer HTTPS Seite Android & Cross-Platform Mobile Apps 4
B Android Probleme mit RealmObject? Android & Cross-Platform Mobile Apps 1
M Android ExpandableListView merkwürdige Probleme Android & Cross-Platform Mobile Apps 20
F Probleme mit Google-Maps Android & Cross-Platform Mobile Apps 0
B Android Probleme mit ViewPager? Android & Cross-Platform Mobile Apps 5
J Probleme mit ViewPager und Activity Android & Cross-Platform Mobile Apps 1
B Android Probleme mit Eclipse? Android & Cross-Platform Mobile Apps 6
E MAVLINK Probleme Android & Cross-Platform Mobile Apps 1
C Android Probleme mit JavaMail Android & Cross-Platform Mobile Apps 5
B Android Probleme mit Facebook-SDK? Android & Cross-Platform Mobile Apps 1
D Android Probleme mit info/warning (1, 902) Android & Cross-Platform Mobile Apps 4
D Android Gallery Probleme Android & Cross-Platform Mobile Apps 3
B Probleme mit App auf Galaxy S3? Android & Cross-Platform Mobile Apps 13
S Hat der AVD-Manager Probleme mit GPS? Android & Cross-Platform Mobile Apps 5
P Probleme mit xml-Layout Android & Cross-Platform Mobile Apps 2
P Android Probleme mit Spinner Android & Cross-Platform Mobile Apps 3
F Layout mit listViews (Scrolling-Probleme) Android & Cross-Platform Mobile Apps 2
A Android Probleme mit Dialog Android & Cross-Platform Mobile Apps 4
U SQLite-Datenbank Probleme Android & Cross-Platform Mobile Apps 8
T Android Probleme bei Facebook Integration Android & Cross-Platform Mobile Apps 5
tfa Android Layout-Probleme: View programmatisch erweitern (addContentView) Android & Cross-Platform Mobile Apps 7
A Probleme mit ListView / ArrayAdapter Android & Cross-Platform Mobile Apps 3
A Probleme mit Form.isShown Android & Cross-Platform Mobile Apps 9
A Probleme mit Calendar auf dem Handy Android & Cross-Platform Mobile Apps 3
U Probleme mit der drawString Methode bei Canvas Android & Cross-Platform Mobile Apps 8
P Probleme mit dem Deployment Android & Cross-Platform Mobile Apps 3
C 2 kleine Probleme (Datei lesen, String durchsuchen) Android & Cross-Platform Mobile Apps 16
G Proguard Obfuscator macht Probleme Android & Cross-Platform Mobile Apps 2
P Probleme mit RMS Android & Cross-Platform Mobile Apps 5

Ähnliche Java Themen

Neue Themen


Oben