Я создал новый класс, который расширяет InputStream и имеет значение @Override read(). Я пытаюсь использовать метод read (int b), но когда я его использую, он переходит к методу read(), и я не могу использовать параметр, который я передал.inputStream новый класс, который расширяет InputStream
Вот мой код:
public class Run {
public static void main(String[] args) {
DFSMaze3dGenerator mg = new DFSMaze3dGenerator();
try {
Maze3d maze3d = mg.generate(1, 5, 5);
maze3d.print3DMaze();
OutputStream out = new MyCompressorOutputStream(
new FileOutputStream("1.maz"));
out.write(maze3d.toByteArray());
byte[] arr = maze3d.toByteArray();
System.out.println("");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + ",");
}
out.close();
InputStream in = new MyDecompressorInputStream(new FileInputStream(
"1.maz"));
byte b[] = new byte[maze3d.toByteArray().length];
in.read(b);
in.close();
Maze3d loaded = new Maze3d(b);
System.out.println(loaded.equals(maze3d));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Как я могу использовать параметр, когда я использую метод: чтение (б); ???
public class MyDecompressorInputStream extends InputStream {
InputStream in;
int count;
boolean even = false;
public MyDecompressorInputStream(InputStream in) {
super();
this.in = in;
}
@Override
public int read() throws IOException {
return 100;
}
}
Может быть, вы должны переопределить 'чтения (байт [])'? http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html#read (byte []) –
Я все еще обращался к методу read() –