12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package com.oblivm.backend.gc.offline;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.util.Arrays;
- public class FileReader {
- byte[] data;
- int pos = 0;
- public FileReader(String name) {
- try {
- File file = new File(name);
- FileInputStream fis;
- fis = new FileInputStream(file);
- data = new byte[(int) file.length()];
- fis.read(data);
- fis.close();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public void read(byte[] a) {
- System.arraycopy(data, pos, a, 0, a.length);
- pos += a.length;
- }
- public byte[] read(int len) {
- byte[] res = Arrays.copyOfRange(data, pos, pos + len);
- pos += len;
- return res;
- }
- static public void main(String[] args) {
- double t1 = System.nanoTime();
- FileReader a = new FileReader("table");
- double t2 = System.nanoTime();
- System.out.println(t2 - t1);
- System.out.println(a.data.length);
- byte[] b = new byte[10];
- a.read(b);
- }
- }
|