So I'm reading a book on Java, and I'm stuck on the Chapter about IO. So I understand that Java was two streams; the character and byte stream, but I don't understand when to use character stream and when to use byte streams. Also, what if I wanted to make a Java program what can process pictures like .png, .jpg, etc, what would I use?