Java uses streams to perform efficient input and output operations. There are three default streams - System.out for output, System.in for input, and System.err for errors. OutputStream is used for writing data to destinations while InputStream reads data from sources like files. The FileOutputStream class writes data to files and FileInputStream obtains input bytes from files. Examples demonstrate writing text to a file using FileOutputStream and reading the file contents using FileInputStream.