Project: Hexadecimal Filter
Write a filter program that converts the input stream from bytes to hexadecimal representation. Always print two heaxadecimal digits per byte. Print at most 64 hexadecimal digits per line.
Output
$ javac -Xlint HexadecimalFilter.java
$ java -ea HexadecimalFilter < ../../data/text/GettysburgAddress.txt
4c696e636f6c6e2773204765747479736275726720416464726573732c206769
76656e204e6f76656d6265722031392c20313836330a6f6e2074686520626174
746c656669656c64206e65617220476574747973627572672c2050656e6e7379
6c76616e69612c205553410a0a466f75722073636f726520616e642073657665
6e2079656172732061676f206f757220666174686572732062726f7567687420
666f727468206f6e207468697320636f6e74696e656e742c2061206e6577206e
6174696f6e2c20636f6e63656976656420696e204c6962657274792c20616e64
2064656469636174656420746f207468652070726f706f736974696f6e207468
617420616c6c206d656e20617265206372656174656420657175616c2e0a0a4e
6f772077652061726520656e676167656420696e206120677265617420636976
...
61736564206465766f74696f6e20746f207468617420636175736520666f7220
77686963682074686579206761766520746865206c6173742066756c6c206d65
6173757265206f66206465766f74696f6e2d7468617420776520686572652068
6967686c79207265736f6c766520746861742074686573652064656164207368
616c6c206e6f742068617665206469656420696e207661696e2d746861742074
686973206e6174696f6e2c20756e64657220476f642c207368616c6c20686176
652061206e6577206269727468206f662066726565646f6d2d616e6420746861
7420676f7665726e6d656e74206f66207468652070656f706c652c2062792074
68652070656f706c652c20666f72207468652070656f706c652c207368616c6c
206e6f74207065726973682066726f6d207468652065617274682e0a
$ javac -Xlint HexadecimalFilter.java
$ java -ea HexadecimalFilter < ../../data/text/UnicodeTest.utf8
466f75722073636f726520616e6420736576656e2079656172732061676f206f
757220666174686572732062726f7567687420666f727468206f6e2074686973
20636f6e74696e656e742c2061206e6577206e6174696f6e2c20636f6e636569
76656420696e204c6962657274792c20616e642064656469636174656420746f
207468652070726f706f736974696f6e207468617420616c6c206d656e206172
65206372656174656420657175616c2e0a0a566f7220766965722050756e6b74
656e20756e642073696562656e204a616872656e20686162656e20756e736572
652056c3a4746572206175662064696573656d204b6f6e74696e656e74206569
6e65206e657565204e6174696f6e20686572766f7267656272616368742c2064
696520696e20467265696865697420656d7066616e67656e2077757264652075
...
b620486f74205065707065720af09f8caa20546f726e61646f0a0a507265636f
6d706f7365642076732e204465636f6d706f7365640ac385203d2041cc8a0ac3
a0203d2061cc800ac3a9203d2065cc810ac3ae203d2069cc820ac3b1203d206e
cc830ac3bc203d2075cc880aed959c203d20e18492e185a1e186ab0a0a477261
7068656d657320746861742074616b652074776f20636f6465706f696e74730a
43616e61646120f09f87a8f09f87a60a4368696e6120f09f87a8f09f87b30a46
72616e636520f09f87abf09f87b70a47726565636520f09f87acf09f87b70a49
737261656c20f09f87aef09f87b10a4a6170616e20f09f87aff09f87b50a4d65
7869636f20f09f87b2f09f87bd0a554b20f09f87acf09f87a70a555320f09f87
baf09f87b8200a
$ javac -Xlint HexadecimalFilter.java
$ java -ea HexadecimalFilter < ../../data/binary/testbytes.bin
000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f
606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f
808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
a0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf
c0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedf
e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff