当前位置: 代码迷 >> 综合 >> Android Studio解析xml文件失败的总结
  详细解决方案

Android Studio解析xml文件失败的总结

热度:46   发布时间:2023-10-27 06:28:46.0

  近期在学Android基础的时候(Android Studio开发),学到了xml解析器,遇到了读取src路径下xml文件的时候抛FileNotFoundException的问题,但是这个情况在用eclipse+ADT开发的时候,就可以正常读取,没有错误,抛异常的具体代码如下:

weatherInfos=WeatherService.getWeatherInfos(MainActivity.class.getClassLoader().getResourceAsStream("weather.xml"));

     本人查了很多资料,试了很多种方法,最后总结出,抛这个异常的原因是,Android Studio开发Android APP时和eclipse+ADT开发的工程目录结构是不同的,这大概是ideaj和eclipse编译java文件的不同。

       众所周知,eclipse编写java程序时,是会默认生成一个bin目录的,而编译好的.class字节码文件会存在那个目录下,同时,系统会自动将src目录下的资源文件包括图片、xml和音视频等各种文件都拷贝到bin目录下,这样通过java反射机制就可以找到位于src下的资源文件,但是在ideaj中好像就不会生成bin目录,这样,通过java反射也就找不到我们需要的文件了,于是自然就会抛出FileNotFoundException,本人的解决方案是,将我们所需要的xml文件放入到assets目录下:路径如下:D:\161105024\asworkspace\exp05\app\src\main\assets\weather.xml

  路径说明:D:\161105024\asworkspace是Android Studio的工作空间;exp05是工程名,app\src\main\asserts\是assets目录,下面的weather.xml是你要在Android APP中读入的xml文件名

  将上面那句抛异常的语句改为:

weatherInfos=WeatherService.getWeatherInfos(this.getAssets().open("weather.xml"));
  这样就可以正确的读取到xml文件了

  相关解决方案