2013-10-12 52 views
2

我试图从assets文件夹中打开xml文件......但它抛出“FileNotFoundException”,请大家帮忙!!!在getAssets()方法中找不到文件异常

try { 
    InputStream is = getAssets().open(MainActivity.pass); 
      ............ 
      ........... 
    } 
    //value of "MainActivity.pass"=sreb.xml 

sreb.xml存在于资产文件夹中.xml格式

“MainAcivity.pass”是字符串值只,我也检查到

“MainActivity”是其他类在“通”是一个静态的字符串值...

try块是在活动仅

有什么错?

+0

这是哪里的代码? – Raghunandan

+0

尝试'InputStream is = getAssets()。open(“sreb.xml”)'而不是静态字符串,如果您需要将字符串从一个活动传递到另一个使用intent – Raghunandan

+0

执行'Log.d(“TAG”,MainActivity .pass)''getAssets'行之前。然后请告诉我们logcat。 – jboi

回答

1

事情你可以检查:

  • 先从简单的事情:是行抛出异常真的你看行?仔细查看logcat进行检查。
  • 打开的文件是否拼写正确?执行Log.d("TAG", "|" + MainActivity.pass + "|")并将"|"(包括任何空格)之间的名称与资产文件夹中的名称完全相同。
  • 你看看正确的资产文件夹吗?以下代码为您提供了您查看的资产文件夹中现有文件的列表,并将它们打印到logcat,并用逗号和空格分隔。你的档案在那里?

    try { 
        Log.d("TAG", Arrays.toString(getAssets().list("."))); 
    } catch (IOException e) { 
        Log.e("TAG", e.getLocalizedMessage(), e); 
    }