Guten Tag,
ich habe eine Frage zum RandomAccessFile.
Ich möchte nämlich aus einer XML die Zeile mit dem Doctype rauslöschen. Ich kopiere dazu die XML in einen Temp Ordner meines Programmes und wenn die Zeile mit dem Doctype kommt schreibe ich sie einfach nicht rein.
Die XML ist im UTF8 Format.
So sieht mein Code aus:
Mein Problem ist, dass er mir nicht alles schreibt. Er hört einfach auf und bringt java.io.UTFDataFormatException: malformed input around byte 0
Aber ich glaube das ist weil er nichts mehr hat, oder? ich hab ja eine endlos schleife die einfach solange ausliest bis nichts mehr kommt und er die schleife über catch abbricht. Ich weiß es ist nicht die beste möglichkeit aber ich bin fast am verzweifeln weil ich niergends was richtiges finde :-(
ich habe eine Frage zum RandomAccessFile.
Ich möchte nämlich aus einer XML die Zeile mit dem Doctype rauslöschen. Ich kopiere dazu die XML in einen Temp Ordner meines Programmes und wenn die Zeile mit dem Doctype kommt schreibe ich sie einfach nicht rein.
Die XML ist im UTF8 Format.
So sieht mein Code aus:
Code:
try{
File OldDatei = new File(jTextField1.getText());
RandomAccessFile OldFile = new RandomAccessFile(OldDatei, "r");
File NewDatei = new File(java.lang.System.getProperty("user.dir") + "\\iTunesLibraryTemp.xml");
RandomAccessFile NewFile = new RandomAccessFile(NewDatei, "rw");
NewFile.writeUTF(OldFile.readLine());
String TempLine = OldFile.readLine();
if(!TempLine.equals("<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">"))
NewFile.writeUTF(TempLine);
while(true){
NewFile.writeUTF(OldFile.readUTF());
}
}
catch(Exception e){
System.out.println(e);
}
Mein Problem ist, dass er mir nicht alles schreibt. Er hört einfach auf und bringt java.io.UTFDataFormatException: malformed input around byte 0
Aber ich glaube das ist weil er nichts mehr hat, oder? ich hab ja eine endlos schleife die einfach solange ausliest bis nichts mehr kommt und er die schleife über catch abbricht. Ich weiß es ist nicht die beste möglichkeit aber ich bin fast am verzweifeln weil ich niergends was richtiges finde :-(