首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何加快读取一个大的OBJ (文本)文件?

如何加快读取一个大的OBJ (文本)文件?
EN

Stack Overflow用户
提问于 2014-12-22 19:48:20
回答 1查看 402关注 0票数 0

我正在使用一个OBJ Loader库,它是我在网上找到的,我想要加快它的速度。

它的工作方式是逐行读取.OBJ文件(它基本上是一个包含多行数字的文本文件)

我有一个12mb的OBJ文件,大约相当于400,000行。可以说,尝试逐行阅读需要花费很长时间。

有没有办法加快速度呢?它使用BufferedReader读取文件(存储在my assets文件夹中)

这是指向该库的链接:click me

EN

回答 1

Stack Overflow用户

发布于 2014-12-22 20:16:40

这只是一个想法:在获取文件之后,您可以首先使用file类获取文件的大小:

代码语言:javascript
复制
File file = new File(sdcard,"sample.txt");
long size = file.length();

返回的大小以字节为单位,因此,将文件大小划分为相当数量的块,例如5、10、20 e.t.c.具有为每个块指定和保存的字节范围。创建与上面创建的每个块大小相同的字节数组,然后将每个块“分配”到一个单独的工作线程,该线程应使用read(buffer,offset,length)方法将其块读取到相应的字符数组中,即从数组索引"offset“开始将每个块的"length”字符读入数组"buffer“。您必须将字节转换为字符。然后将所有数组连接在一起,以获得最终的完整文件内容。Insert检查块大小,以便每个线程不会重叠其他边界。再说一次,这只是一个想法,希望它在实际实现时能起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27602118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档