Estou fazendo um player em java, onde ele salva a playlist em xml
segue o codigo onde eu salvo a playlist.
o metodo salvarPlaylist recebe um arraylist com todas as musicas e um file do caminho onde sera salvo.
public boolean salvarPlaylist(ArrayList<Musica> musicas, File fl) {
if (!fl.equals("")) {
try {
Element playlist = new Element("playlist");
Element media;
for (int i = 0; i < musicas.size(); i++) {
media = new Element("media");
media.setAttribute("src",musicas.get(i).getCaminho().toString());
playlist.addContent(media);
System.out.println("i " + i);
}
//Criando o documento XML (montado)
Document doc = new Document();
doc.setRootElement(playlist);
String teste = "";
FileOutputStream saida;
PrintStream fileSaida = null;
XMLOutputter xout = new XMLOutputter();
teste = xout.outputString(doc);
try {
saida = new FileOutputStream(fl+".xml");
fileSaida = new PrintStream(saida);
fileSaida.print(teste);
return true;
} catch (Exception e) {
System.err.println(e);
return false;
}
} catch (Exception ex) {
ex.printStackTrace();
return false;
}
}else{
return false;
}
}
Está salvando normamente, so que o problema é que eu preciso que ele salve o xml assim:
<playlist>
<media src="musica1.mp3"/>
<media src="musica2.mp3"/>
<media src="musica3.mp3"/>
<media src="musica4.mp3"/>
<media src="musica5.mp3"/>
</playlist>
mas ele salva assim:
<playlist><media src="musica1.mp3"/><media src="musica2.mp3"/><media src="musica3.mp3"/><media src="musica4.mp3"/><media src="musica5.mp3"/></playlist>
ele salva tudo em uma linha so, quando sao poucas musicas ocorre tudo certo, mas quando eu vou salvar uma playlist com 500, 600 , 1000 musicas da erro pelo tamanho.
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.
resumindo, preciso que ele salve pulando linha.
me ajudem