Java中的文本文件拆分库

Java中的文本文件拆分库,java,file,Java,File,我的程序接收大型CSV文件并将其转换为XML文件。为了有更好的性能,我想把这些文件分成更小的部分,例如500行。哪些Java库可用于拆分文本文件?您打算如何处理这些数据 如果只是逐条记录处理,那么面向事件的SAX或StaX解析将是一种方法。对于逐个记录的处理,可以使用现有的管道工具包 您可以使用诸如或之类的拆分器功能预处理文件。您打算如何处理这些数据 如果只是逐条记录处理,那么面向事件的SAX或StaX解析将是一种方法。对于逐个记录的处理,可以使用现有的管道工具包 您可以使用诸如或之类的拆分器功

我的程序接收大型CSV文件并将其转换为XML文件。为了有更好的性能,我想把这些文件分成更小的部分,例如500行。哪些Java库可用于拆分文本文件?

您打算如何处理这些数据

如果只是逐条记录处理,那么面向事件的SAX或StaX解析将是一种方法。对于逐个记录的处理,可以使用现有的管道工具包


您可以使用诸如或之类的拆分器功能预处理文件。

您打算如何处理这些数据

如果只是逐条记录处理,那么面向事件的SAX或StaX解析将是一种方法。对于逐个记录的处理,可以使用现有的管道工具包


您可以使用诸如或之类的拆分器功能预处理文件。

我不明白将CSV文件拆分为较小的文件会得到什么好处?使用Java,您可以边读边处理文件,而不必一次全部读取…

我不明白将CSV文件拆分成更小的文件会得到什么?使用Java,您可以边读边处理文件,而不必一次全部读取…

一旦文件被拆分,您打算如何分发工作

我在一个名为GridGain的框架上做了类似的事情——它是一个网格计算框架,允许您在计算机网格上执行任务

有了它,您就可以使用诸如JBoss cache之类的缓存提供程序将文件分发到多个节点,指定开始和结束行号以及进程。下面的GridGain示例对此进行了概述:

或者,您可以查看Hadoop和Hadoop文件系统之类的东西,以便在不同节点之间移动文件


同样的概念也可以在本地计算机上实现,方法是将文件加载到缓存中,然后将文件的某些块分配给单独的线程处理。网格计算的东西实际上只是针对真正大的问题,或者为您的解决方案提供透明的某种级别的可伸缩性。您可能需要注意IO瓶颈和锁,但是在文件被拆分后将作业分派到其中的简单线程池可能会工作。

一旦文件被拆分,您打算如何分发工作

我在一个名为GridGain的框架上做了类似的事情——它是一个网格计算框架,允许您在计算机网格上执行任务

有了它,您就可以使用诸如JBoss cache之类的缓存提供程序将文件分发到多个节点,指定开始和结束行号以及进程。下面的GridGain示例对此进行了概述:

或者,您可以查看Hadoop和Hadoop文件系统之类的东西,以便在不同节点之间移动文件


同样的概念也可以在本地计算机上实现,方法是将文件加载到缓存中,然后将文件的某些块分配给单独的线程处理。网格计算的东西实际上只是针对真正大的问题,或者为您的解决方案提供透明的某种级别的可伸缩性。您可能需要注意IO瓶颈和锁定,但在文件拆分后将作业分派到的简单线程池可以工作。

我使用商业B2B翻译软件将CSV文件转换为XML,该软件不能很好地处理大文件…您的文件有多大?我见过Java应用程序处理数百万行的文件时毫不犹豫。这取决于它们的编码方式……我使用一个商业B2B翻译软件将CSV文件转换为XML,该软件不能很好地处理大型文件……您的文件有多大?我见过Java应用程序处理数百万行的文件时毫不犹豫。这取决于它们的编码方式。。。