xml解析,求高手指点为什么报错了

沉默滴狼 2012-03-31 11:52:36
public InputSource getResource(String path) {
File file = new File(path);
System.out.println("文件名"+file.getAbsolutePath());

try {
System.out.println("进入了try---1");
Reader reader=new FileReader(file);
System.out.println("进入了try---2");
InputSource is=new InputSource(reader);
System.out.println("is为空吗?"+(is==null));
return is ;
} catch (FileNotFoundException e) {
e.printStackTrace();
}
System.out.println("返回了空");
return null;
}
红色的地方有异常捕获,曾经尝试用FileInputSteam读取在那个地方也同样失败,path没问题,用io流代码测试过,哪位高手能指点迷津 感激不尽
...全文
87 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
iamkila 2012-04-03
  • 打赏
  • 举报
回复
额,我也觉得是你的路径配置不正确,你可以选择放在assets文件夹中,也可以放在sdcard的某文件夹路径下,在assets文件夹读取楼上已给出,得到sdcard的路径是 String sdcard = Environment.getExternalStorageDirectory().getAbsoluteFile()
.getAbsolutePath();
然后加上你的xml的位置就好了,String path = sdcard + "\\new\\"+fileName;
iamkila 2012-04-01
  • 打赏
  • 举报
回复
是什么异常?贴一下才好解决啊
c_c_yuan 2012-04-01
  • 打赏
  • 举报
回复
你先在android项目中新建一个assets文件夹,然后在文件夹内放入你的personal.xml就行了。不是放在电脑硬盘上,读取的时候就是getAssets().open("androidManifest.xml");就行了

System.out.println("进入了try---1");
InputStream stream=getAssets().open("AndroidManifest.xml");
System.out.println("进入了try---2");
InputSource is=new InputSource(stream);
System.out.println("is为空吗?"+(is==null));

这样就可以正常返回了 至于后续的我就不知道了
沉默滴狼 2012-04-01
  • 打赏
  • 举报
回复
你用的java applycation 运行的是吗 我也那样测试过 没问题。。。 我用android applycation 运行的时候一直报空指针而且就是那地方出错了 如果方便加我QQ吧 就冲哥们你这么费心 我把分先送你 451036329 这我QQ 我还在找原因 有兴趣一起帮我研究下 感激不尽
c_c_yuan 2012-04-01
  • 打赏
  • 举报
回复
结果是:
文件名E:\JAVA_WORKPLACE\ccytest\AndroidManifest.xml
进入了try---1
进入了try---2
is为空吗?false

没有问题啊!!!!

沉默滴狼 2012-04-01
  • 打赏
  • 举报
回复
在调用方法的时候抛出了 空指针异常 is 为空 ,调试的时候是红色的代码无法执行 没其他异常了 path测试了 没问题
c_c_yuan 2012-04-01
  • 打赏
  • 举报
回复
JAVA 中不是有XML对应的组件。可以用XML包中类的进行读取。

80,493

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧