2012-02-17 14 views
0

私はnetbeansプロジェクトにリソースとして含まれているxmlファイルを持っています。BufferedReader.readLine()メソッドを使用して、XML形式の入力ストリームからテキストを読み取る方法は?

今、私は、入力ストリームリーダーを行ずつ、それを読み取ろう:

これはエラー会っ取得=>
static InputStream nudeMap = Main.class.getResourceAsStream("overlay_map_2007.txt"); 

static BufferedReader br = new BufferedReader(new InputStreamReader(nudeMap,"UTF-8")); 

Exception in thread "Thread-4" java.lang.NullPointerException 
    at java.io.Reader.<init>(Reader.java:61) 
    at java.io.InputStreamReader.<init>(InputStreamReader.java:80) 

私は、ファイルのエンコーディングをチェックし、それ確かにUTF-8なので、それはエンコーディングの問題だとは思わない。ここでは経験はありませんが、ファイルが実際にxml形式であることが原因と思われるかもしれません。最初の行は次のとおりです:

<?xml version="1.0" encoding="UTF-8"?> 
<gexf xmlns:viz="http:///www.gexf.net/1.1draft/viz" version="1.1" xmlns="http://www.gexf.net/1.1draft"> 

私の主張は、私がファイルを持っているためのパーサーを書いていません。あなたはエラーなしで私がそれを平易な古いテキストファイルとしてどのように読むことができるかについて何か手掛かりがありますか?どうも!

[編集]:明確にする:br.readLine();でこのファイルを読みたいです。 Javaパーサではありません!

+0

ビルド後にファイルがクラスパスの正しい場所にあることを確認していますか? XMLでXMLパーサを使用しないことは悪い考えです。 –

答えて

1

それはあなたのテキストファイルのISNそのように私には見えます見つからない。言い換えれば、私はがnullを返していると思います。このnull値はあなたが得ているNullPointerExceptionを引き起こしています。

overlay_map_2007.txtプロジェクト内のファイルはどこですか?

このファイルが 'default'パッケージに含まれていない場合は、リソースの名前を '修飾'する必要があります。たとえば、フォルダcom.example.myproject内にある場合、リソース名はcom/example/myproject/overlay_map_2007.txtになります。

+0

それはまさにそれでした!私はあなたの助けに感謝します! – seinecle

0

私はそれほど遠くに行かなくてはいけないと思います。シンプルなGoogle検索は、そのDOMパーサでこの良い例をもたらした:

http://www.mkyong.com/java/how-to-read-xml-file-in-java-dom-parser/

は、DOMに対するものを持って、その後、SAXがあります:

http://www.mkyong.com/java/how-to-read-xml-file-in-java-sax-parser/

+0

「asAStream」の部分が見えませんでした...どうですか? http://www.mkyong.com/java/how-to-read-utf-8-xml-file-in-java-sax-parser/ – Carlos

+0

こんにちは、私は質問を編集して、 xmlパーサーに興味があります。単純に、古典的なbufferedReader.readLine()メソッドを使用したいと思います:xml形式のファイルで可能ですか?それは私が得るこのnullポインターの例外のソースですか?どうも! – seinecle

関連する問題