1. To find number of lines in a file
2. Adding line numbers to a file – LineNumberInputStream, LineNumberReader
4. Byte streams vs Character streams
5. Byte streams and Character streams – file coying using FileReader and FileWriter
6. Pushing out Character – PushbackReader
7. Piping data between two streams – PipedInputStream and PipedOutputStream, PipedReader and PipedWriter
8. Changing file properties – File class
9. Retrieving metadata of a file – File class
10. Formatting Data – PrintWriter
11. Chaining or linking of streams
12. Closeable and Flushable interfaces
13. PrintStream
14. Tokeinizing a stream – StreamTokenizer
15. Checking for tokens in file reading – using Scanner