我正在尝试从android资产文件夹中读取csv文件。我看过其他关于这个的帖子,似乎我和其他人一样设置了它。我已经尝试过this.getAssets()
并将上下文传递给方法并使用context.getAssests()
。这是我用来读取文件的代码。并将信息输入数据库。
try{
AssetManager mng = getApplicationContext().getAssets();
InputStream is = mng.open("word_types.csv");
CSVReader csv = new CSVReader(new InputStreamReader(is));
String[] s;
while((s = csv.readNext()) != null){
db.addWordType(Integer.parseInt(s[0]), s[1], Integer.parseInt(s[2]));
}
csv.close();
}catch(IOException ioe){
Log.e("File Read Error: ","" + ioe.getMessage());
}
for(int i=1;i<=12 ;i++ )
Log.i(i+" = ", ""+ db.getWordType(i));
下面是在logcat中打印的内容:
E/File Read Error: (25767): word_types.csv
I/1 = (25767): null
I/2 = (25767): null
I/3 = (25767): null
I/4 = (25767): null
I/5 = (25767): null
I/6 = (25767): null
I/7 = (25767): null
I/8 = (25767): null
I/9 = (25767): null
I/10 = (25767): null
I/11 = (25767): null
I/12 = (25767): null
我意识到我犯了一个愚蠢的错误。感谢CommonsWare告诉我如何打印堆栈跟踪。我不知道可以把爱作为第三个参数。在查看了堆栈跟踪之后,我意识到我把资产目录拼错了。我有资产