@SpeakeazyYT2

Как записать в файл txt результат перебора в цикле for?

Здравствуйте. Пишу программу на Java. В коде использую цикл for для получению значений из xml файла. Код ниже.
public static void main(String[] args) {
        try {
 
            // Строим объектную модель исходного XML файла
            final File xmlFile = new File(appdata, "file.xml");
            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
            DocumentBuilder db = dbf.newDocumentBuilder();
            Document doc = db.parse(xmlFile);
 
            // Выполнять нормализацию не обязательно, но рекомендуется
            doc.getDocumentElement().normalize();
 
            // Получаем все узлы с именем "Server"
            NodeList nodeList = doc.getElementsByTagName("Server");
 
            for (int i = 0; i < nodeList.getLength(); i++) {
                // Выводим информацию по каждому из найденных элементов
                Node node = nodeList.item(i);
                if (Node.ELEMENT_NODE == node.getNodeType()) {
                    Element element = (Element) node;
                    String Host = element.getElementsByTagName("Host").item(0).getTextContent();
                }
            }
        } catch (ParserConfigurationException | SAXException
                | IOException ex) {
            Logger.getLogger(XMain.class.getName())
                    .log(Level.SEVERE, null, ex);
        }
    }

Задача такова: получить из xml файла несколько значений (она выполнена) и записать их в txt файл, который должен сперва создаться. Но поскольку отображение значений xml файла находиться в цикле for и этих значений может быть много, то в результате переборки цикла, записывается значение только последнее. А если например поставить System.out.println(Host); - то цикл переберёт все значения Host и выдаст по порядке.
Как это сделать?
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
@fOrZe0
PrintWriter printWriter = new PrintWriter(new File("f.txt")); // f.txt  ручками создавать не надо =)
for (int i = 0; i < 10; i++) {
     printWriter.write(i + "\n");
}
printWriter.close();


В файл запишется
0
1
2
3
4
5
6
7
8
9
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы