2010-08-04 3 views
3

XML 구문 분석 프로그램을 사용하려고합니다. 또한 XML 파일에 FileInputStream을 사용했습니다. XML 파일을 안드로이드의 assets 폴더 인 META-INF 폴더에 넣었습니다. 파일 이름은 "container.XML"입니다.Android 파일 경로를 찾을 수 없음

는 여기에만 오류 메시지를 받았습니다

public void onClick(View v) { 
       // TODO Auto-generated method stub 
       try { 
        parseXMLinfoBook(); 
       } catch (FileNotFoundException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
        tv.setText("ErrorPath "+e.getMessage()); 
       } catch (ParserConfigurationException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } catch (SAXException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
      } 
     }); 

, 여기

public void parseXMLinfoBook() throws FileNotFoundException, ParserConfigurationException, SAXException{ 

     FileInputStream in = new FileInputStream("file:///android_asset/META-INF/container.xml"); 

     StringBuffer inLine = new StringBuffer(); 
     InputStreamReader isr = new InputStreamReader(in); 

     BufferedReader inRd = new BufferedReader(isr); 

     SAXParserFactory spf=SAXParserFactory.newInstance(); 
     SAXParser spr=spf.newSAXParser(); 
     XMLReader xmlreader = spr.getXMLReader(); 

     XmlHandler xmlhe=new XmlHandler(); 
     xmlreader.setContentHandler(xmlhe); 

     } 

이 Button.SetonClick 코드입니다, 내 코드 parseXML입니다. 호프 도움말!

+0

어떤 오류 메시지가 표시됩니까? – oli

답변

3

apk 패키지 내의 애플리케이션 자산 디렉토리에 container.xml 파일을 배치했다고 가정합니다.

android 앱의/assets 디렉토리 안의 파일을 열려면 AssetManager이 필요합니다. getAssets()은 컨텍스트 개체에서 사용할 수 있으므로 활동 또는 서비스에서 사용할 수 있습니다.

AssetManager mgr = getContext().getAssets(); 
InputStream in = mgr.open("META-INF/container.xml"); 
InputStreamReader isr = new InputStreamReader(in); 
//... Rest of the code 
관련 문제