2016-08-09 7 views
0

現在、JAXP、SAX、DOM、StAX、XPath、およびXSLTを学習しています。 StAXの動作を確認するためにテストしていたのですが、エラーが発生しました。FileReaderが同じフォルダ内のXMLファイルを見つけることができません

Exception in thread "main" java.io.FileNotFoundException: test.xml (The system cannot find the file specified) 
    at java.io.FileInputStream.open0(Native Method) 
    at java.io.FileInputStream.open(FileInputStream.java:195) 
    at java.io.FileInputStream.<init>(FileInputStream.java:138) 
    at java.io.FileInputStream.<init>(FileInputStream.java:93) 
    at java.io.FileReader.<init>(FileReader.java:58) 
    at xmltest.XMLTest.main(XMLTest.java:16) 

それは古典的な誤りだ、と私はそれが何を意味するか知っている、問題がある、「のtest.xml」と「XMLTest.java」は、同じフォルダ内にあるので、私はなぜそれが現れてされるかわかりません/パッケージ。ここで

は、以下のコードです:

XMLTest.java -

package xmltest; 

import java.io.FileNotFoundException; 
import java.io.FileReader; 
import java.io.Reader; 
import javax.xml.stream.XMLInputFactory; 
import javax.xml.stream.XMLStreamException; 
import javax.xml.stream.XMLStreamReader; 

public class XMLTest { 

    public static void main(String[] args) throws FileNotFoundException, XMLStreamException { 

     XMLInputFactory xmlif = XMLInputFactory.newFactory(); 
     Reader reader = new FileReader("test.xml"); 
     XMLStreamReader xmlsr = xmlif.createXMLStreamReader(reader); 


     while (xmlsr.hasNext()) { 

      switch (xmlsr.next()) { 
       case XMLStreamReader.START_ELEMENT: 
        System.out.println("START_ELEMENT"); 
        System.out.println(" Qname = " + xmlsr.getName()); 

        break; 
       case XMLStreamReader.END_ELEMENT: 
        System.out.println("END_ELEMENT"); 
        System.out.println(" Qname = " + xmlsr.getName()); 
      } 
     } 
    } 

} 

のtest.xml - ここ

<?xml version="1.0"?> 
    <catalog> 
     <book id="bk101"> 
      <author>Gambardella, Matthew</author> 
      <title>XML Developer's Guide</title> 
      <genre>Computer</genre> 
      <price>44.95</price> 
      <publish_date>2000-10-01</publish_date> 
      <description>An in-depth look at creating applications 
      with XML.</description> 
     </book> 
     <book id="bk102"> 
      <author>Ralls, Kim</author> 
      <title>Midnight Rain</title> 
      <genre>Fantasy</genre> 
      <price>5.95</price> 
      <publish_date>2002-12-16</publish_date> 
      <description>A former architect battles corporate zombies, 
      an evil sorceress, and her own childhood to become queen 
      of the world.</description> 
     </book> 
     <book id="bk103"> 
      <author>Corets, Eva</author> 
      <title>Maeve Ascendant</title> 
      <genre>Fantasy</genre> 
      <price>5.95</price> 
      <publish_date>2000-11-17</publish_date> 
      <description>After the collapse of a nanotechnology 
      society in England, the young survivors lay the 
      foundation for a new society.</description> 
     </book> 
     <book id="bk104"> 
      <author>Corets, Eva</author> 
      <title>Oberon's Legacy</title> 
      <genre>Fantasy</genre> 
      <price>5.95</price> 
      <publish_date>2001-03-10</publish_date> 
      <description>In post-apocalypse England, the mysterious 
      agent known only as Oberon helps to create a new life 
      for the inhabitants of London. Sequel to Maeve 
      Ascendant.</description> 
     </book> 
     <book id="bk105"> 
      <author>Corets, Eva</author> 
      <title>The Sundered Grail</title> 
      <genre>Fantasy</genre> 
      <price>5.95</price> 
      <publish_date>2001-09-10</publish_date> 
      <description>The two daughters of Maeve, half-sisters, 
      battle one another for control of England. Sequel to 
      Oberon's Legacy.</description> 
     </book> 
     <book id="bk106"> 
      <author>Randall, Cynthia</author> 
      <title>Lover Birds</title> 
      <genre>Romance</genre> 
      <price>4.95</price> 
      <publish_date>2003-09-02</publish_date> 
      <description>When Carla meets Paul at an ornithology 
      conference, tempers fly as feathers get ruffled.</description> 
     </book> 
     <book id="bk107"> 
      <author>Thurman, Paula</author> 
      <title>Splish Splash</title> 
      <genre>Romance</genre> 
      <price>4.95</price> 
      <publish_date>2004-11-02</publish_date> 
      <description>A deep sea diver finds true love twenty 
      thousand leagues beneath the sea.</description> 
     </book> 
     <book id="bk108"> 
      <author>Knorr, Stefan</author> 
      <title>Creepy Crawlies</title> 
      <genre>Horror</genre> 
      <price>4.95</price> 
      <publish_date>2005-12-06</publish_date> 
      <description>An anthology of horror stories about roaches, 
      centipedes, scorpions and other insects.</description> 
     </book> 
     <book id="bk109"> 
      <author>Kress, Peter</author> 
      <title>Paradox Lost</title> 
      <genre>Science Fiction</genre> 
      <price>6.95</price> 
      <publish_date>2006-11-02</publish_date> 
      <description>After an inadvertant trip through a Heisenberg 
      Uncertainty Device, James Salway discovers the problems 
      of being quantum.</description> 
     </book> 
     <book id="bk110"> 
      <author>O'Brien, Tim</author> 
      <title>Microsoft .NET: The Programming Bible</title> 
      <genre>Computer</genre> 
      <price>36.95</price> 
      <publish_date>2006-12-09</publish_date> 
      <description>Microsoft's .NET initiative is explored in 
      detail in this deep programmer's reference.</description> 
     </book> 
     <book id="bk111"> 
      <author>O'Brien, Tim</author> 
      <title>MSXML3: A Comprehensive Guide</title> 
      <genre>Computer</genre> 
      <price>36.95</price> 
      <publish_date>2007-12-01</publish_date> 
      <description>The Microsoft MSXML3 parser is covered in 
      detail, with attention to XML DOM interfaces, XSLT processing, 
      SAX and more.</description> 
     </book> 
     <book id="bk112"> 
      <author>Galos, Mike</author> 
      <title>Visual Studio 7: A Comprehensive Guide</title> 
      <genre>Computer</genre> 
      <price>49.95</price> 
      <publish_date>2008-04-16</publish_date> 
      <description>Microsoft Visual Studio 7 is explored in depth, 
      looking at how Visual Basic, Visual C++, C#, and ASP+ are 
      integrated into a comprehensive development 
      environment.</description> 
     </book> 
    </catalog> 

とはへのリンクですmのスクリーンショットy階層:http://pasteboard.co/6FbvgJLx6.png

ありがとうございます。 :)

EDIT 私は、ファイルへの絶対パスを入れると、それは完璧に動作しますが、私はハードコードにこれをしたくない...

+0

を使用して、あなたのファイルの絶対パスを提供することができますか? – bradimus

+0

XMLTest.javaとtest.xmlは同じディレクトリにある可能性があります... XMLTest.classとは? –

+0

私はNetbeansを使用して、私が前にやったすべてのようにプログラムを実行します... 過去にFileReading、ファイル管理などを多用していましたが、なぜこれが今起こっているのか分かりません:( –

答えて

2

は、としてあなたのファイルをロードしてください

URL fileURL = this.getClass().getResource("test.xml"); 
File file = new File(fileURL.getPath()); 

これは、リソースをロードするクラスの同じパッケージからファイルをロードします。

またどのようにあなたのプログラムを起動している

URL fileURL = this.getClass().getResource("/my/package/to/test.xml"); 
+0

何らかの理由でURLが正しくインポートされないため、ファイルをリソースとしてロードできません... –

関連する問題