From f52c67a134943cd22c1c86bb9a7e97199f879a34 Mon Sep 17 00:00:00 2001 From: Charles Julian Knight Date: Wed, 26 Jun 2019 13:39:01 -0400 Subject: [PATCH] added chunked stream methods --- .../java/com/felhr/usbserial/SerialInputStream.java | 12 ++++++++++++ .../java/com/felhr/usbserial/SerialOutputStream.java | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/usbserial/src/main/java/com/felhr/usbserial/SerialInputStream.java b/usbserial/src/main/java/com/felhr/usbserial/SerialInputStream.java index afa8448..740a3a6 100644 --- a/usbserial/src/main/java/com/felhr/usbserial/SerialInputStream.java +++ b/usbserial/src/main/java/com/felhr/usbserial/SerialInputStream.java @@ -54,6 +54,18 @@ public class SerialInputStream extends InputStream return device.syncRead(b, timeout); } + @Override + public int read(byte b[], int off, int len) + { + if (off == 0 && len == b.length) { + return read(b); + } + byte[] slice = new byte[len]; + int ret = device.syncRead(slice, timeout); + System.arraycopy(slice, 0, b, off, ret); + return ret; + } + @Override public int available() throws IOException { if(bufferSize > 0) diff --git a/usbserial/src/main/java/com/felhr/usbserial/SerialOutputStream.java b/usbserial/src/main/java/com/felhr/usbserial/SerialOutputStream.java index 31b13cf..e9b13e1 100644 --- a/usbserial/src/main/java/com/felhr/usbserial/SerialOutputStream.java +++ b/usbserial/src/main/java/com/felhr/usbserial/SerialOutputStream.java @@ -25,6 +25,18 @@ public class SerialOutputStream extends OutputStream device.syncWrite(b, timeout); } + @Override + public void write(byte b[], int off, int len) + { + if (off == 0 && len == b.length) { + write(b); + return; + } + byte[] slice = new byte[len]; + System.arraycopy(b, off, slice, 0, len); + device.syncWrite(slice, timeout); + } + public void setTimeout(int timeout) { this.timeout = timeout; }