java 读取大文件时怎么样才能加快速度?
我在程序中读取文件信息,采用的是按行读取,但是当文件占用空间不断增大时(最大限制不会超过100M),文件的读取速度特别慢,请问要怎样优化才能加快大文件的读取速度呢?谢谢!...
我在程序中读取文件信息,采用的是按行读取,但是当文件占用空间不断增大时(最大限制不会超过100M),文件的读取速度特别慢,请问要怎样优化才能加快大文件的读取速度呢?谢谢!
展开
2个回答
展开全部
可以试试RandomAccessFile 随机输入流类
下面是API文档上摘下来的:
java.io
类 RandomAccessFile
java.lang.Object
java.io.RandomAccessFile
所有已实现的接口:
Closeable, DataInput, DataOutput
--------------------------------------------------------------------------------
public class RandomAccessFileextends Objectimplements DataOutput, DataInput, Closeable此类的实例支持对随机存取文件的读取和写入。随机存取文件的行为类似存储在文件系统中的一个大型字节数组。存在指向该隐含数组的光标或索引,称为文件指针;输入操作从文件指针开始读取字节,并随着对字节的读取而前移此文件指针。如果随机存取文件以读取/写入模式创建,则输出操作也可用;输出操作从文件指针开始写入字节,并随着对字节的写入而前移此文件指针。写入隐含数组的当前末尾之后的输出操作导致该数组扩展。该文件指针可以通过 getFilePointer 方法读取,并通过 seek 方法设置。
通常,如果此类中的所有读取例程在读取所需数量的字节之前已到达文件末尾,则抛出 EOFException(是一种 IOException)。如果由于某些原因无法读取任何字节,而不是在读取所需数量的字节之前已到达文件末尾,则抛出 IOException,而不是 EOFException。需要特别指出的是,如果流已被关闭,则可能抛出 IOException。
从以下版本开始:
JDK1.0
下面是API文档上摘下来的:
java.io
类 RandomAccessFile
java.lang.Object
java.io.RandomAccessFile
所有已实现的接口:
Closeable, DataInput, DataOutput
--------------------------------------------------------------------------------
public class RandomAccessFileextends Objectimplements DataOutput, DataInput, Closeable此类的实例支持对随机存取文件的读取和写入。随机存取文件的行为类似存储在文件系统中的一个大型字节数组。存在指向该隐含数组的光标或索引,称为文件指针;输入操作从文件指针开始读取字节,并随着对字节的读取而前移此文件指针。如果随机存取文件以读取/写入模式创建,则输出操作也可用;输出操作从文件指针开始写入字节,并随着对字节的写入而前移此文件指针。写入隐含数组的当前末尾之后的输出操作导致该数组扩展。该文件指针可以通过 getFilePointer 方法读取,并通过 seek 方法设置。
通常,如果此类中的所有读取例程在读取所需数量的字节之前已到达文件末尾,则抛出 EOFException(是一种 IOException)。如果由于某些原因无法读取任何字节,而不是在读取所需数量的字节之前已到达文件末尾,则抛出 IOException,而不是 EOFException。需要特别指出的是,如果流已被关闭,则可能抛出 IOException。
从以下版本开始:
JDK1.0
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |