Posted on Leave a comment

Parsing xml string in Java

JDOM

String xml = "<message>HELLO!</message>";
org.jdom.input.SAXBuilder saxBuilder = new SAXBuilder();
try {
    org.jdom.Document doc = saxBuilder.build(new StringReader(xml));
    String message = doc.getRootElement().getText();
    System.out.println(message);
} catch (JDOMException e) {
    // handle JDOMException
} catch (IOException e) {
    // handle IOException
}

Xerces

String xml = "<message>HELLO!</message>";
DOMParser parser = new DOMParser();
try {
    parser.parse(new InputSource(new java.io.StringReader(xml)));
    Document doc = parser.getDocument();
    String message = doc.getDocumentElement().getTextContent();
    System.out.println(message);
} catch (SAXException e) {
    // handle SAXException 
} catch (IOException e) {
    // handle IOException 
}

JAXP

String xml = "<message>HELLO!</message>";
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = null;
try {
    db = dbf.newDocumentBuilder();
    InputSource is = new InputSource();
    is.setCharacterStream(new StringReader(xml));
    try {
        Document doc = db.parse(is);
        String message = doc.getDocumentElement().getTextContent();
        System.out.println(message);
    } catch (SAXException e) {
        // handle SAXException
    } catch (IOException e) {
        // handle IOException
    }
} catch (ParserConfigurationException e1) {
    // handle ParserConfigurationException
}
Posted on Leave a comment

Resource file not found

File file = new File(getClass().getResource("resourceFile.txt").getFile());

but the file doesn’t exist.

It turned out the problem was due to spaces in my path

I found two solutions:

org.apache.commons.io.FileUtils.toFile(myClass().getResource("resourceFile.txt")‌​);
myClass().getResource("resourceFile.txt")‌​.toURI();
Posted on Leave a comment

Joshua Bloch – Effective Java

Create and destroy object

Рассмотрите возможность замены конструкторов
статическими методами генерации.

Свойство синглтона oбеспечивайте закрытым конструктором

Отсутствие экземпляров  обеспечивает закрытый конструктор

Continue reading Joshua Bloch – Effective Java