2015-11-02 92 views
1

我知道這可能看起來像是之前提出的一個問題,但之前給出的答案似乎都沒有幫助過。Android中的FileNotFoundException(Android Studio 1.3.2)

那麼,問題是FileNotFoundException試圖:

File file = new File(ClassLoader.getSystemResource("xml/cheat_data.xml").toURI()); 
InputStream is = new BufferedInputStream(new FileInputStream(file)); 

InputStream is = new BufferedInputStream(new FileInputStream("xml/cheat_data.xml")); 

所有節目FileNotFoundException異常或NullPointerException異常(第一種情況)。雖然該文件顯然在該路徑。嘗試絕對路徑也沒有幫助。

注意:文件夾「xml」位於android資源目錄&這個調用不在任何Activity類內。 public static void main()

所以我錯過了什麼?

+0

你介意給我們絕對路徑嗎?也許你錯過了包名(context.getPackageName()) – LBes

+0

哦,所以「context」是絕對必須的嗎?甚至爲了鏈接到資源的權利?不像傳統的Java? – rjbaj

回答

0

文件夾 「XML」 是在Android資源目錄

那不是你如何訪問Android電子資源

。如果你在傳統的Android開發中使用ClassLoader,那麼你做錯了。

這個電話沒有任何Activity類

那麼裏面,你會需要一些Context,無論是Activity或別的東西。撥打getResources().getXml(R.xml.cheat_data)Context即可獲得XmlPullParser,您可以使用它讀取已解析的XML。

只是一個單獨的類公共靜態無效的main()

經典Java開發使用這種方法; Android不。

+0

那麼除了'ApplicationTestCase'方法外,還有什麼方法可以測試類。該默認的'ApplicationTest'類。 – rjbaj

+0

@rjbaj:我很抱歉,但我不明白你的評論。 – CommonsWare

+0

哦..我的不好。我實際上正在嘗試使用「public static void main」來測試一些類,而不是必須啓動「Activity」或創建「Context」。我只想知道這是不是一個好主意。 – rjbaj