Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Efficient Input/Output using JAVA IO, NIO and NIO2

Xử lý Input/Output hiệu quả với JAVA IO, NIO và NIO2

Xử lý Input/Output hiệu quả với JAVA IO, NIO và NIO2

Hướng dẫn viết các thao tác IO không chặn hiệu suất cao trong Java

4.4
(110 đánh giá)
1,359 học viên
Giảng viên
HeadEasy Labs
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 349.000đ -86%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
9.5 giờ video
112 bài giảng
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 30/05/2026

Bạn sẽ học được gì

Java IO
JAVA NIO
JAVA NIO2
Java Input/Output

Yêu cầu

Lập trình Java cơ bản

Đối tượng phù hợp

Dành cho người muốn học cách viết chương trình xử lý Input/Output hiệu quả trong Java
Muốn hiểu các tính năng IO hiện đại của Java

Nội dung khóa học

15 phần • 111 bài giảng
1 Giới thiệu
1 Yêu cầu trước khóa học
2 IO là gì?
3 Sơ đồ tư duy
1 Giới thiệu
2 Đối tượng File
3 Làm việc với đối tượng File
4 Tổng kết
1 Byte Streams là gì?
2 Sơ đồ tư duy
3 FileInputStream - FileOutputStream
4 Byte Streams trong bộ nhớ
5 Demo Byte Stream
6 Xử lý ngoại lệ
7 Piped Streams
8 Demo Piped Stream
9 Sequence Streams
10 Demo Sequence Stream
11 StringBufferInputStream
12 Filter Streams
13 Buffered Streams
14 Demo Buffered Stream
15 Mẫu thiết kế Decorator
16 Pushback Streams
17 Demo PushBack Stream
18 LineNumberInputStream
19 PrintStream
20 Demo Print Stream
21 Tổng kết
1 Character Streams là gì?
2 Bộ ký tự và mã hóa ký tự
3 Sơ đồ tư duy và thao tác cơ bản
4 FileReader FileWriter và thực hành
5 Đọc ghi từng ký tự
6 Đọc ghi qua bộ đệm
7 Demo đọc ghi qua bộ đệm
8 Bỏ qua, đánh dấu, đặt lại
9 Demo bỏ qua, đánh dấu, đặt lại
10 Thao tác Writer
11 CharArrayReader và CharArrayWriter
12 Demo CharArrayReader và CharArrayWriter
13 StringReader StringWriter
14 Demo String Reader Writer
15 Buffered Reader và Buffered Writer
16 Demo Buffered Reader và Buffered Writer
17 LineNumberReader
18 PipedReader PipedWriter
19 Demo Pipped Reader Writer
20 FilterReader FilterWriter
21 Demo Filtered Reader Writer
22 PrintWriter
23 Tổng kết
1 Data Streams - Giới thiệu & Sơ đồ tư duy
2 DataInputStream - DataOutputStream
3 Random Access File API
4 Random Access File thực tế
5 Tổng kết
1 Giới thiệu
2 Hiểu về Serialization
3 Object Streams - Code trực tiếp
4 Tìm hiểu sâu về Serialization
5 Tổng kết
1 Giới thiệu
2 Nhu cầu ghi đè Serialization
3 readObject() & writeObject()
4 Externalization
5 Sử dụng đối tượng Proxy
6 Tổng kết
1 Giới thiệu và Sơ đồ tư duy
2 Thiết lập tình huống sử dụng
3 Ghi vào Hybrid Stream
4 Đọc từ Hybrid Stream
5 Tổng kết
1 Giới thiệu và Sơ đồ tư duy
2 Standard Streams
3 Console
4 Scanner
5 Tổng kết
1 Giới thiệu
2 Định dạng GZIP
3 Demo GZIP
4 Định dạng ZIP
5 Demo ZIP
6 Tổng kết
1 Giới thiệu
2 Path | So sánh File và Path
3 Path API - Chức năng (Path, Paths, Files)
4 Tổng kết
1 Giới thiệu NIO
2 Sơ đồ tư duy
3 Channels
4 Buffers
5 Sử dụng Channels và Buffers
6 Sử dụng Channels và Buffers 2
7 MappedByteBuffer
8 Charsets và CharBuffers
9 Charsets và charBuffers thực tế
10 Thao tác bất đồng bộ sử dụng Selectors
11 Demo thao tác bất đồng bộ sử dụng Selectors
12 Tổng kết
1 NIO2 - Giới thiệu và Sơ đồ tư duy
2 Hệ thống File được cải tiến
3 Demo hệ thống File cải tiến
4 Liệt kê và lọc nội dung thư mục
5 Duyệt cây thư mục
6 Truy cập thư mục hoặc tệp
7 Truy cập thư mục hoặc tệp thực tế
8 Theo dõi sự kiện thư mục
9 Theo dõi sự kiện thư mục thực tế
10 Tổng kết
1 Tổng kết và cảm ơn.

Giới thiệu khóa học

If you have ever worked on a real life production application you might have noticed that 70 to 80% of the time, applications are busy doing IO or Input Output.

IO in the sense : Reading, writing from and to Databases, Files, Disks, calling some APIs etcetera.

Why so ? Because Data needs to be persisted somewhere to be used in Future. While an application runs it loads the data in RAM but you know that It's not permanent.

So, To make the application perform better, You need to understand three things?

1. Computing should be done efficiently to save the CPU

2. Space or RAM should be used effectively and efficiently because that is limited and expensive

And Third and most important thing is

3. IO should be done in an efficient way.

Why am I calling 3rd one most important ? Because if you believe my several years of experience in building large scale production ready applications, Most of the applications spend 70% time doing IO.

So In this course what we gonna learn ? We are going to learn Effective Java IO, NIO and NIO2

And what is java way of handling IO?

Let me quickly brief the agenda of the course to you...

In first few sections of the course... we will learn ...

I/O Basics and classic IO

IO was introduced in 1996 (Java 1).

Which is the classic version.

IO was pretty popular then, and then modern systems started getting more performant.

And then The next IO upgrade came with java version 4 (2002), which is called NIO.

To add support for non-blocking IO for modern operating systems.

And then in 2011, we got new functionalities in Java NIO.

Don't worry if you are not familiar with NIO or with the non-blocking stuff,

Or even not familiar to IO. we will discuss everything in this course. We will start with the classic io,

Here We will talk about file handling, the basic patterns to read and write raw bytes,

which is done using InputStream-Output Stream, we will talk about how we read characters while using classic IO, we have Reader and writers for that.

And we will talk about few more important things from Classic IO,

We will learn to read and write structured data, in quite similar fashion to how we do reads and writes in database, for this we will discuss Data streams.

We are going to cover Random access File for that.

Then how to read write a mix of different kinds of data, for example a mix of bytes and characters.

After that we will discuss a very important concept, called serialization-Deserialization, to store state of a java object.

And right after that, we gonna discuss some utility kind of stuff that supports Java IO.

Whenever I say classic IO, I mean the stuff under io package but when I say Java IO, It includes everything that supports Input-output, whether it is ClassicIO, NIO or NIO2.

So, here will see some utility stuff.

Like how we can improve performance of our code, even if we are not using NIO, for that we will discuss compression techniques. Compression techniques are not io package specific, they are added under the util package in java 7. we can use compression wherever it's needed.

So, we will use compressions to enhance the performance while working with IO.

We will also discuss few classes which support io and are used in day to day programming.

So, that's what we gonna cover under classic IO.

Next comes NIO.

We are not going to start with understanding what NIO is, rather we will first discuss The path utility provided by NIO. It's a utility interface and is used almost everywhere, It's kind of replacement to file utility in today's java.

The reason to discuss it earlier is that, before actually starting NIO, we will be familiar with the very basic pattern of Java IO to access the files and to smoothly work with them.

Then we will jump to NIO,

Here we will understand what Non-blocking IO is and

Then we will be all set to understand the APIs under nio.

Will see how they work.

And then the enhancements and the new stuff that came with nio2.

And all this will come with hands-on Coding. I strongly recommend to program along with me if you want to understand the things better. We are going to write a lot of programs!!

Still in doubt ? Don't worry the course comes with a 30 days money back guarantee! So if you are not happy you may return the course.

If you want to become a Great Java programmer.. this is a must learn stuff for you and I strongly believe after completing the course you will be able to write efficient programs in terms of IO.

Welcome you again to the Journey see you in the course...

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Java
Hiển thị tất cả khoá học Software Development
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊