在Android中指定XML文件的文件夹路径

时间:2011-10-07 05:51:20

标签: android fileinputstream

我将employeedetailxml放入名为“res \ raw”的文件夹中。当我尝试通过指定文件和文件夹名称来打开它时,我收到错误“找不到文件”。

如何指定文件的路径?

我更希望能够将“ R.raw.employeedetailxml ”传递给FileInputStream以指定它打开该文件。那可能吗? (我试了一下,但得到了一个错误。)

FileInputStream可以将资源ID作为参数吗?

try{
   SAXParserFactory spf=SAXParserFactory.newInstance();
   SAXParser sp=spf.newSAXParser();
   XMLReader xr=sp.getXMLReader();

   EmployeeDetailHandler empDetailHandler=new EmployeeDetailHandler();
   xr.setContentHandler(empDetailHandler);

   xr.parse(new InputSource(new FileInputStream("\\res\\raw\\employeedetailxml.xml")));
}

4 个答案:

答案 0 :(得分:8)

是的,您可以使用类似于传递R.raw.employeedetailxml的内容。您只需要使用该资源名称获取资源XML文件,如下所示:

InputStream ins = getResources().openRawResource(R.raw.file_name);

答案 1 :(得分:5)

试试这个:

InputStream inputStream =
    getResources().openRawResource(R.raw.employeedetailxml);

答案 2 :(得分:4)

this.getResources().openRawResource()会返回InputStream,可能会帮助您解析xml。

答案 3 :(得分:1)

如果将xml文件放在资产下没有伤害,你可以试试这个:

AssetManager manager = getAssets();
InputStream inputStream = manager.open("pathUnderAssets/filename.xml");    

请注意,getAssets()调用是在上下文中进行的。因此,您必须在非活动的类中使用上下文调用它。