开发Android项目,写单元测试类时,怎样读取assets中的文件?

publicclassTestThemexmlextendsAndroidTestCase{publicvoidtestPPTThemeLoader()throwsThr... public class TestThemexml extends AndroidTestCase {

public void testPPTThemeLoader() throws Throwable{

IDocument doc=null;
doc =DocumentFactory.createDocument(DocumentTypes.IMPRESS_PPTX);
//需要读"assets"文件夹中的PPTX进行测试
/*************************************/
//这里怎么编代码?
InputStream inStream = context.getAssets().open(fileName);//这样写不行

/************************************/
PPTXLoader pptxLoader = new PPTXLoader(doc,inStream) ;
pptxLoader.executeLoad();//这是自定义方法
}
}
展开
 我来答
lmdy2001
2011-06-23 · TA获得超过592个赞
知道小有建树答主
回答量:491
采纳率:0%
帮助的人:159万
展开全部
InputStream inStream = context.getAssets().open(fileName);这个context指service或者activity对象,如果是在service或者activity中,就直接调getAssets()就好了. fileName是相对路径,如果你的文件就是放在assets目录下,就直接写文件名比如text.txt就行了,如果是在assets的子目录下,就需要将子目录的路径也加上.
更多追问追答
追问
还是不明白。麻烦你看看问题补充。测试类要继承什么类?
追答
AndroidTestCase中有这两个方法,你可以调用.
public void setTestContext(Context context) {
mTestContext = context;
}

/**
* @hide
*/
public Context getTestContext() {
return mTestContext;
}
707ncgzes
推荐于2016-03-26 · TA获得超过2657个赞
知道大有可为答主
回答量:4551
采纳率:0%
帮助的人:2777万
展开全部
1. 先在Activity里面调用getAssets()来获取AssetManager引用。
2. 再用AssetManager的open(String fileName, int accessMode)方法则指定读取的文件以及访问模式就能得到输入流InputStream。
3. 然后就是用已经open file 的inputStream读取文件,读取完成后记得inputStream.close()。
4.调用AssetManager.close()关闭AssetManager。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式