Почему IDE и консоль делают разные операции с XML-файлами в Java?

Я новичок в работе с файлами XML. Моя программа должна делать это, когда она выполняется, она должна генерировать случайные числа и записывать в файл XML. Каждый раз, когда я отлаживаю его в IDE NetBeans, все в порядке, но когда я пытаюсь выполнить его в консоли с помощью "Java -jar blablabla.jar", файлы XML не меняются, и я все еще вижу старые значения в файлах XML. Почему это случилось? Почему IDE может изменять значения в XML, а консоль - нет?

Вот мой блок кода операций XML:

public class CreateXML {

public CreateXML(ArrayList<Integer> array,String name){
    try{
    DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
    DocumentBuilder db=dbf.newDocumentBuilder();

    String path="file"+name+".xml";
    File xmlfile=new File(path);
    if(xmlfile.exists()){
        xmlfile.delete();
        System.out.println("There was this file and it is deleted.");
    }

    Document doc=db.newDocument();

    Element rootElement=doc.createElement("numberList");
    doc.appendChild(rootElement);
        for (int i = 0; i < array.size(); i++) {
            Element staff=doc.createElement("number");
            rootElement.appendChild(staff);

            Attr attr=doc.createAttribute("id");
            attr.setValue(Integer.toString(i));
            staff.setAttributeNode(attr);
            staff.setTextContent(Integer.toString(array.get(i)));
        }

    TransformerFactory tf=TransformerFactory.newInstance();
    Transformer t=tf.newTransformer();

    DOMSource source=new DOMSource(doc);
    StreamResult result=new StreamResult(xmlfile);

    t.transform(source, result);
    }catch(Exception e){
        e.printStackTrace();
        }
    }

}

0 ответов

Другие вопросы по тегам