About this course
Java Input Output manipulations are essential in Java daily programming tasks. No matters what kind of Java applications you are working on, dealing with Java IO is almost inevitable.
People usually get frustrated with Java IO since there are so many classes in Java Platform that they can use to work with files in particular and in IO in general. That's because we do not understand which classes should be used for which tasks.
This course is designed to help you to get rid of the frustration by demonstrating from very basic but crucial concepts such as what is file? what is path? Different path types? what is file encoding? Differences between ASCII and Unicode?, and so on. to advanced techniques required for high performance IO operations such as buffers, channels, flipping, clearing buffers, scattering read, and gathering write.
Each complicated concept is clearly explained step by step with code as well as visual representation so that you can catch up with the ideas.
The course is divided into 2 main sections:
The first section will discuss about Stream model:
- Random access files withe RandomAccessFile
- Binary Streams with FileInputStream/FileOutputStream
- Character Streams with FileReader/FileWriter/BufferredReader/BufferedWriter/PrintWriter
- Object Streams/Serialization with ObjectInputStream/ObjectOutputStream
The second section will be time to discuss about NIO library. Topics will be mentioned including:
- Buffers - Channels
- Flipping vs. Rewinding
- Flipping vs. Clearing
- Clearing vs. Compacting
- Marking and Reseting
- Scattering Read - Gathering Write
What are the requirements?
- Students who take this course should have basic skills in Java
- All the source code projects are created in Netbeans 8, running on JDK 8
What am I going to get from this course?
- Over 25 lectures and 1.5 hours of content!
- 2 quizzes with 41 questions
- Understand basic concepts: Files, Relative vs. Absolute Paths, symbolic link
- Understand different levels in stream models
- Apply different stream classes for different file manipulation: FileInputStream/FileOutputStream, DataInputStream/DataOutputStream, ect
- Understand object serializations
- How to store a list of objects effectively
- Understand the NIO library
- Apply the NIO models for high performance file operations
- All the course code projects are included
What is the target audience?
- Students who want to master Java IO package
- Students who want to master Java NIO package
- Students who want to have a clear and comprehensive understanding of Java IO
- Students who want to apply Java IO in their jobs
- Students who will take exams where IOs are related