45MB の大きなファイルがあり、使用できるメモリが限られているため、最初に 5MB を読み取りたいとします。
Javaを使用してこれを行う必要があります。誰か私を助けてください。
前もって感謝します!!
45MB の大きなファイルがあり、使用できるメモリが限られているため、最初に 5MB を読み取りたいとします。
Javaを使用してこれを行う必要があります。誰か私を助けてください。
前もって感謝します!!
これには基本的なバイトストリームを使用できると思います。http://docs.oracle.com/javase/tutorial/essential/io/bytestreams.htmlをチェックしてください
FileInputStream クラスの read(byte[] b) メソッドを使用します。これは、「この入力ストリームから b.length バイトまでのデータをバイト配列に読み取る」ものです。
read(byte[] b, int off, int len) メソッドを使用すると、以前に読み取ったデータのオフセットを使用してこれを行うこともできます。
次のコードは、ファイルから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;
}