如何从java中的文件中读取特定数量的数据

时间:2012-09-30 18:26:05

标签: java

我有一个45MB的大文件,并假设我可用的内存有限,我想先读取5MB,依此类推。

我需要使用Java来做到这一点。有人请帮帮我。

提前致谢!!

2 个答案:

答案 0 :(得分:1)

我认为你可以为此使用基本的字节流。查看http://docs.oracle.com/javase/tutorial/essential/io/bytestreams.html

我将使用FileInputStream类的read(byte [] b)方法,该方法'从此输入流中读取b.length个字节的数据到一个字节数组'

read(byte [] b,int off,int len)方法也允许您使用先前读取数据的偏移量来执行此操作。

答案 1 :(得分:0)

以下代码将从文件读取5000字节(5MB)。

byte[] bytes = new byte[5000]; 
    DataInputStream dis = new DataInputStream(new FileInputStream(file)); 
      int read = 0;
      int numRead = 0;
      while (read < bytes.length && (numRead=dis.read(bytes, read, bytes.length-read)) >= 0) {
        read = read + numRead;
      }