From 471854749feb8f4ddb677806cf83ec88349e3435 Mon Sep 17 00:00:00 2001 From: John DeRegnaucourt Date: Fri, 1 Dec 2023 01:09:01 -0500 Subject: [PATCH] updated README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d9e1388a2..b4be6c7e6 100644 --- a/README.md +++ b/README.md @@ -70,8 +70,9 @@ same class. * **IO** * **FastReader** - Works like `BufferedReader` and `PushbackReader` without the synchronization. Tracks `line` and `col` by watching for `0x0a,` which can be useful when reading text/json/xml files. You can `.pushback()` a character read, which is very useful in parsers. * **FastWriter** - Works like `BufferedWriter` without the synchronization. + * **FastByteArrayInputStream** - Unlike the JDK `ByteArrayInputStream`, `FastByteArrayInputStream` is not `synchronized.` + * **FastByteArrayOutputStream** - Unlike the JDK `ByteArrayOutputStream`, `FastByteArrayOutputStream` is not `synchronized.` * **IOUtilities** - Handy methods for simplifying I/O including such niceties as properly setting up the input stream for HttpUrlConnections based on their specified encoding. Single line `.close()` method that handles exceptions for you. - * **FastByteArrayOutputStream** - Unlike the JDK `ByteArrayOutputStream`, `FastByteArrayOutputStream` is 1) not `synchronized`, and 2) allows access to it's internal `byte[]` eliminating the duplication of the `byte[]` when `toByteArray()` is called. * **EncryptionUtilities** - Makes it easy to compute MD5, SHA-1, SHA-256, SHA-512 checksums for `Strings`, `byte[]`, as well as making it easy to AES-128 encrypt `Strings` and `byte[]`'s. * **Executor** - One line call to execute operating system commands. `Executor executor = new Executor(); executor.exec('ls -l');` Call `executor.getOut()` to fetch the output, `executor.getError()` retrieve error output. If a -1 is returned, there was an error. * **GraphComparator** - Compare any two Java object graphs. It generates a `List` of `Delta` objects which describe the difference between the two Object graphs. This Delta list can be played back, such that `List deltas = GraphComparator.delta(source, target); GraphComparator.applyDelta(source, deltas)` will bring source up to match target. See JUnit test cases for example usage. This is a completely thorough graph difference (and apply delta), including support for `Array`, `Collection`, `Map`, and object field differences.