cafezin
Ainda vou conseguir te ajudar..rsss
Fiz um código aqui com o que eu entendi que você quer fazer... !!!!
Criei um arquivo com este txt.
Objeto1
campo1, !- comentario1 Obj1
campo2; !- comentario2 Obj1
Objeto2
campo1, !- comentario1 Obj2
campo2, !- comentario2 Obj2
campo3, !- comentario3 Obj2
campo4, !- comentario4 Obj2
campo5; !- comentario5 Obj2
E desenvolvi para (teste) este código aqui. Logo se for isto, vamos pensar em uma forma de melhorar isto.
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.regex.Pattern;
public class Principal {
public static void main(String[] args) throws FileNotFoundException {
Scanner sc = new Scanner(new File("C:/objeto.txt"));
String linha;
while (sc.hasNextLine()) {
linha = sc.nextLine();
if (isObjeto(linha))
System.out.println(linha);
else if (isCampo(linha)) {
System.out.println(" - " + obterNome(linha));
System.out.println(" - " + obterComentario(linha));
}
}
}
private static boolean isObjeto(String linha) {
return Pattern.compile("Objeto[0-9]+").matcher(linha).find();
}
private static boolean isCampo(String linha) {
if (linha.trim().equals(""))
return false;
return linha.split(";").length > 0;
}
private static String obterNome(String linha) {
return linha.split("!-")[0].replaceAll(",", "").replaceAll(";", "").trim();
}
private static String obterComentario(String linha) {
return linha.split("!-")[1].trim();
}
}
Tive como saida isto aqui:
Objeto1
- campo1
- comentario1 Obj1
- campo2
- comentario2 Obj1
Objeto2
- campo1
- comentario1 Obj2
- campo2
- comentario2 Obj2
- campo3
- comentario3 Obj2
- campo4
- comentario4 Obj2
- campo5
- comentario5 Obj2
Por favor verifique se é isto que precisa... !! caso não seja... eu tenho algumas questões sobre sua dúvida.
Depois que você pegar estes dados vai jogar para algum objeto? o que vai fazer com isto?
Pode vim mais de um comentário ou campo na mesma linha? Assim campo1, campo2 !- comentario1, comentario2 (Pelo que eu entendi não pode).
Mas a principio valide isto que te enviei e no final vamos nos acertando referente sua dúvida e a solução para seu problema.
Att