2013-07-22 19 views
1

通常我喜欢将我的文件保存在assets中,然后从该文件夹中读取我的文件。所以,当我试图从assets文件夹中读取我的excel文件(这是一本97-2003工作书)时,它失败了(Process - 1)。然而,当我推文件/mnt/sdcard/使用adb.exe,然后尝试从那里读取,它的工作原理(过程-2)。从资产文件夹中读取excel工作簿时发生的问题

规范流程 - 1:

File inputWorkbook = new File((assetManager.open("myFile.xls")).toString()); 

例外所示:

java.io.FileNotFoundException: /[email protected]: open failed: ENOENT (No such file or directory) 

规范流程 - 2:

File inputWorkbook = new File(Environment.getExternalStorageDirectory()+"/myFile.xls"); 

1>任何一个可以告诉我,我我做错了吗?

2>另外,对于我保存在资产中的文件,文件大小是否有任何限制?如果是这样,那么我可以把它保存在其他地方吗?

谢谢。

编辑:我有这个工作,因为:

InputStream dbInputStream = context.getAssets().open("myFile.xls"); 

不过,我会想知道任何替代方案,如果有一个人有这样的解决方案,并解答我的第二个问题。

回答

1

的一种方式(阅读从资产文件夹):

AssetManager assetManager = m.getInstrumentation().getContext().getResources().getAssets(); 
InputStream in = assetManager.open(filename); 

另一种方式

File file = new File(m.getInstrumentation().getContext().getExternalFilesDir(null), filename); 
fis = new FileInputStream(file); 
(从到/ mnt/SD卡/安卓/数据/文件中读取)
相关问题