【问题标题】:Unable to read csv file from assets无法从资产中读取 csv 文件
【发布时间】:2013-03-11 08:46:38
【问题描述】:

我正在尝试从 android assets 文件夹中读取一个 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

【问题讨论】:

  • ioe 作为第三个参数传递给您的Log.e() 调用,这样您就可以看到完整的堆栈跟踪。
  • 谢谢。不知道。

标签: java android csv opencsv


【解决方案1】:

我意识到我犯了一个愚蠢的错误。谢谢CommonsWare 告诉我关于打印出这样的堆栈跟踪。我不知道将 ioe 添加为第三个参数。查看堆栈跟踪后,我意识到我拼写错误的资产目录。我有评估。

【讨论】:

  • 堆栈跟踪是你的朋友! :-)
猜你喜欢
  • 1970-01-01
  • 2020-01-21
  • 1970-01-01
  • 2019-10-20
  • 2012-03-21
  • 2023-03-11
  • 2018-06-04
  • 1970-01-01
相关资源
最近更新 更多