在读取arff文件的时候,有点是需要注意到的。在Java中,InputStream,DataInputStream这些类都不支持mark和reset,也就是说不能倒回去再读。而ByteArrayInputStream支持mark和reset,但是arff文件作为一个数据源文件,可能包含几十MB,甚至是几百MB。。。的数据,如果全部先读进内存,再从内存中解析,恐怕并不可行。还好Java中实现了BufferedInputStream,它可以预读8192个字节的缓冲,内存中的读完后,再从输入流中继续读8192个字节的缓冲,并且支持mark和reset,这就是我在Java里面自己实现解析arff时候的主要技术问题所在。至于字符串的解析就很简单了。
BufferedInputStream 测试
最新推荐文章于 2022-02-28 14:55:36 发布
本文探讨了在Java中解析大型ARFF文件时遇到的技术挑战,特别是如何利用BufferedInputStream来有效处理大文件读取问题,同时保持良好的性能。
3279

被折叠的 条评论
为什么被折叠?



