Posted on Leave a comment

Parsing xml string in Java

JDOM

[code language=”java”]
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
}
[/code]

Xerces

[code language=”java”]
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
}
[/code]

JAXP

[code language=”java”]
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
}
[/code]

Posted on Leave a comment

Resource file not found

[code language=”java”]
File file = new File(getClass().getResource("resourceFile.txt").getFile());
[/code]

but the file doesn’t exist.

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

I found two solutions:

[code language=”java”]
org.apache.commons.io.FileUtils.toFile(myClass().getResource("resourceFile.txt")‌​);
[/code]

[code language=”java”]
myClass().getResource("resourceFile.txt")‌​.toURI();
[/code]

Posted on Leave a comment

Joshua Bloch – Effective Java

Create and destroy object

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

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

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

Continue reading Joshua Bloch – Effective Java