当前位置: 首页 > 面试题库 >

优秀有效的Java CSV / TSV阅读器

柳飞飙
2023-03-14
问题内容

我想读大CSVTSV(制表符分隔)文件有关1000000行或更多。现在我试着用来读一个TSV包含~2500000opencsv,但是它给我扔了一个java.lang.NullPointerException。它适用于TSV~250000线的较小文件。因此,我想知道是否还有其他Libraries支持读取Large
CSVTSVFiles的文件。你有什么想法?

每个对我的代码感兴趣的人(我将其缩短,因此Try-Catch显然是无效的):

InputStreamReader in = null;
CSVReader reader = null;
try {
    in = this.replaceBackSlashes();
    reader = new CSVReader(in, this.seperator, '\"', this.offset);
    ret = reader.readAll();
} finally {
    try {
        reader.close();
    } 
}

编辑:这是我在其中构造方法InputStreamReader

private InputStreamReader replaceBackSlashes() throws Exception {
        FileInputStream fis = null;
        Scanner in = null;
        try {
            fis = new FileInputStream(this.csvFile);
            in = new Scanner(fis, this.encoding);
            ByteArrayOutputStream out = new ByteArrayOutputStream();

            while (in.hasNext()) {
                String nextLine = in.nextLine().replace("\\", "/");
                // nextLine = nextLine.replaceAll(" ", "");
                nextLine = nextLine.replaceAll("'", "");
                out.write(nextLine.getBytes());
                out.write("\n".getBytes());
            }

            return new InputStreamReader(new ByteArrayInputStream(out.toByteArray()));
        } catch (Exception e) {
            in.close();
            fis.close();
            this.logger.error("Problem at replaceBackSlashes", e);
        }
        throw new Exception();
    }

问题答案:

我没有尝试过,但是我之前已经研究过superCSV。

http://sourceforge.net/projects/supercsv/

http://supercsv.sourceforge.net/

检查250万行是否适合您。



 类似资料:
  • Python 设计背后的核心原则之一就是创建可读的代码。这个设计背后的动机很简单: Python 程序员所做的第一件事就是阅读代码。 成为一个著名的 Python 程序猿的秘诀之一就是阅读,理解和理解优秀的代码。 优秀的代码通常遵循 Code Style 中概述的指导方针,并想读者表达清晰简洁的意图。 下面是一些推荐的 Python 项目供读者参阅。这些项目中每一项都是 Python 编码的一个典

  • 1.官网 https://cesiumjs.org/tutorials/ 2.英文的读着费劲的可以来这里 http://www.marsgis.cn/cesium/docs/go.html?id=12,这里面还包含一些别的文档,大家可以自己探索探索 3.超图 http://support.supermap.com.cn:8090/webgl/examples/examples.html,一份优秀的

  • 本文向大家介绍Javacsv实现Java读写csv文件,包括了Javacsv实现Java读写csv文件的使用技巧和注意事项,需要的朋友参考一下 今天跟大家分享一个利用外部Jar包来实现Java操作CSV文件 一.资源下载 1.直接下载Jar包:javacsv-2.0.jar 2.利用Maven下载Jar包: 3.API说明:javacsv.sourceforge.net 二.操作演示 1.写CSV

  • 问题内容: 我很快就要上Java课了,头几周可能会有很多空闲时间。我发现我会在空闲时间去搞游戏设计,并且想知道是否有人可以推荐一些对游戏开发有益的Java库。 谢谢。 问题答案: 我建议您看看Slick2D。它是一个易于使用的综合2D游戏库:一个使用Java进行实验的绝佳平台。 由于您还没有Java的经验,因此建议您不要使用LWJGL等低级库或JMonkeyEngine等复杂库。

  • 我有以下类,它从/到包裹读取和写入对象数组: 在上面的代码中,我在读取< code>readParcelableArray时得到一个< code>ClassCastException: 错误/AndroidRuntime(5880):原因:Java . lang . classcastexception:[land roid . OS . parcelable; 上面的代码有什么错误?在编写对象数

  • 在问题[1]中,我了解到如果您想在Android下使用NFC标签,则不必采用NDEF格式。我想在Win 8.1 in. Net下执行此操作。我的情况是这样的: 我有一个RFID卡Mifare Classic 1K,其中存储了一个ID。(由制造商记录)该ID由我们的考勤系统通过通常的RFID读取器(例如Gigatek的PROMAG MFR120)读取。我们不在卡上写任何东西,我们只需要读取ID。但是