我正在尝试从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
答案 0 :(得分:4)
我意识到自己犯了一个愚蠢的错误。感谢CommonsWare告诉我打印出类似的堆栈跟踪。我不知道添加ioe作为第三个参数。查看堆栈跟踪后,我意识到我拼写了资源目录错误。我有资格。