CSVReader和android

时间:2013-02-07 10:45:05

标签: android csv file-io

我想从csv文件中读取数据并将其存储到数据库中。这就是我保存csv文件的方式(这样可以正常工作 - 只是为了显示我计划用CSVreader读取文件的位置和方式):

synchronized public void readFromUrl(String url, String outputFile, Context context) throws FileNotFoundException {
        URL downloadLink = null;
        try {
            downloadLink = new URL(url);
        } catch (MalformedURLException e2) {
            // TODO Auto-generated catch block
            e2.printStackTrace();
        }
        BufferedReader in = null;

        try {
                        in = new BufferedReader(
                                new InputStreamReader(downloadLink.openStream(), "UTF8"));
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

        FileOutputStream fstream = context.openFileOutput(outputFile,Context.MODE_PRIVATE);

        Writer out = new OutputStreamWriter(fstream);

        Log.d(TAG, "BufferedReader "+in); 
        String inputLine = null;
        try {
            while ((inputLine = in.readLine()) != null){
                out.write(inputLine+"\n");
                //logger.debug("DOWNLOADED: "+inputLine);
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        try {
            fstream.close();
            out.close();
            in.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

到目前为止,我的代码用于读取csv文件:

public void readInCSVFile(String filename, Context context) throws IOException {
        IDbHelper dbHelper = new DbHelper(); ; 
        CSVReader products = null;

        products = new CSVReader(new InputStreamReader(context.getAssets().open(filename)));

我收到NoClassDefFoundError异常。

我的android项目的Referenced库中有opencsv.jar。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您的项目是否在Eclipse IDE中?如果是,那么看看是否在“项目属性 - > Java构建路径 - >库”中设置了lib(opencsv.jar),它在选项卡中被检查:“订单和出口“也是。在“Order and Export”下,将lib移动到列表顶部。 然后清理并重建。

PS:如果这没有帮助,那么请提供错误的完整堆栈跟踪。