2012-09-30 36 views
0

我有一個45MB的大文件,並且假設我可用的內存有限,我想首先讀取5MB等等。如何從java中的文件中讀取特定數量的數據

我需要使用Java來做到這一點。有人請幫助我。

在此先感謝!

+1

歡迎來到StackOverflow!這裏的問題通常包括一些小小的代碼......你能告訴我們你已經試過了嗎? –

+0

它是一個文本文件還是一個二進制文件?你可能想看看[BufferedReader.read(char [] cbuf,int off,int len)](http://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html)方法如果你正在處理字符流 – Sujay

回答

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; 
     } 
1

我想你可以使用基本的字節流來做到這一點。查覈http://docs.oracle.com/javase/tutorial/essential/io/bytestreams.html

我會使用所讀取的(字節[] b)中一個FileInputStream類「將最多b.length個從該輸入流的數據字節到的字節的數組」

讀取的方法(byte [] b,int off,int len)方法也可以讓你用先前讀取的數據的偏移量來做到這一點。

相關問題