ByteArrayReaderWriter.java 975 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package de.tudarmstadt.informatik.hostage.io;
  2. import java.io.BufferedInputStream;
  3. import java.io.BufferedOutputStream;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6. import java.io.OutputStream;
  7. import java.util.List;
  8. import de.tudarmstadt.informatik.hostage.wrapper.ByteArray;
  9. public class ByteArrayReaderWriter implements ReaderWriter<ByteArray> {
  10. private BufferedInputStream in;
  11. private BufferedOutputStream out;
  12. public ByteArrayReaderWriter(InputStream in, OutputStream out) {
  13. this.in = new BufferedInputStream(in);
  14. this.out = new BufferedOutputStream(out);
  15. }
  16. @Override
  17. public ByteArray read() throws IOException {
  18. int availableBytes;
  19. while ((availableBytes = in.available()) <= 0)
  20. ;
  21. byte[] buffer = new byte[availableBytes];
  22. in.read(buffer);
  23. return new ByteArray(buffer);
  24. }
  25. @Override
  26. public void write(List<ByteArray> message) throws IOException {
  27. for (ByteArray m : message) {
  28. out.write(m.get());
  29. out.flush();
  30. }
  31. }
  32. }