开发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();//这是自定义方法
}
} 展开
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();//这是自定义方法
}
} 展开
2个回答
展开全部
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;
}
展开全部
1. 先在Activity里面调用getAssets()来获取AssetManager引用。
2. 再用AssetManager的open(String fileName, int accessMode)方法则指定读取的文件以及访问模式就能得到输入流InputStream。
3. 然后就是用已经open file 的inputStream读取文件,读取完成后记得inputStream.close()。
4.调用AssetManager.close()关闭AssetManager。
2. 再用AssetManager的open(String fileName, int accessMode)方法则指定读取的文件以及访问模式就能得到输入流InputStream。
3. 然后就是用已经open file 的inputStream读取文件,读取完成后记得inputStream.close()。
4.调用AssetManager.close()关闭AssetManager。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询