Вы, вероятно, не хотите использовать списки в качестве структуры данных для этого. Возможно, вам лучше создать тип Node
или что-то подобное, который может содержать текстовые и дочерние узлы, чтобы вы могли хранить данные в дереве / иерархии узлов. Что-то простое, как это должно сделать свое дело:
public class Node {
private String text;
private List<Node> children = new ArrayList<Node>();
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public List<Node> getChildren() {
return children;
}
}
После этого должно быть тривиально создать дерево этих Node
s, когда вы читаете файл, и использовать ту же структуру, чтобы выписать его обратно.