2011-02-01 100 views
1

我试图打开一个XML文件解析它,但我正在逐渐不再试图打开该文件。我的代码是:fileinputstream抛出filenotfoundexception?

 try { 
      return new FileInputStream(location); 
     } catch (FileNotFoundException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
      return null; 
     } 

其中位置是一个传入函数的字符串。一旦运行我的代码,我得到:

java.io.FileNotFoundException:/C:/Users/Seth/AndroidWorkspace/UCoupon/res/xml/information.xml(没有这样的文件或目录)

我给完整的文件路径,而且我没有任何拼写错误。我究竟做错了什么?

回答

2

你不能从你的设备或仿真器读取您的PC上的文件。

看到here的介绍,数据存储和here用于访问资源(这可能是你感兴趣的,因为你试图访问res/xml/

0

您不能访问从您的主机系统文件(这似乎是视窗你的情况)。将文件复制到您的设备/仿真器的SD卡,并从那里读它 - 不要忘记使用许可WRITE_EXTERNAL_STORAGE。

1

您正在尝试使用加载文件在您的PC上的真实路径。仿真器对您的文件系统一无所知。

当你把一个XML到项目文件夹res/xml/可以使用STANDAR资源查找方式解析它:

XmlResourceParser xpp = res.getXml(R.xml.myxml); 其中myxml是XML文件的名称不带扩展名

+0

我看着成但无法理解它如何适应我的代码。我实现了一个自定义的XML解析器,就像这里的第八个示例:http://www.ibm.com/developerworks/opensource/library/x-android/index.html我正在尝试编写方法getInputStream(),以便我可以使用线 “Xml.parse(this.getInputStream(),Xml.Encoding.UTF_8,root.getContentHandler());” – 2011-02-02 02:13:04

相关问题