Saya mendengar tentang pakej I/O lain yang dipanggil NIO. Bolehkah anda memberitahu saya mengenainya?
Pada asalnya dipanggil I/O Baharu, pakej NIO telah ditambahkan pada Java oleh JDK 1.4. Ia menyokong pendekatan operasi I/O berasaskan saluran. Kelas NIO berada dalam pakej java.nio dan pakej bawahannya, seperti java.nio.channels dan java.nio.charset.
NIO adalah berdasarkan dua item asas: penimbal dan saluran. Penampan menyimpan data, saluran mewakili sambungan terbuka ke peranti I/O seperti fail atau soket. Secara umum, untuk menggunakan sistem I/O baharu, kita perlu mendapatkan saluran dengan peranti I/O dan penimbal untuk menyimpan data. Kemudian kami beroperasi dengan penimbal, memasukkan atau memaparkan data apabila perlu.
Dua entiti lain yang digunakan oleh NIO ialah set aksara dan
pemilih. Set aksara mentakrifkan cara bait dipetakan kepada aksara. Kita boleh mengekod urutan aksara dalam bentuk bait menggunakan pengekod. Dan kita boleh menyahkod urutan bait ke dalam bentuk aksara menggunakan penyahkod. Pemilih menyokong I/O berasaskan kunci, tidak menyekat dan berganda. Dengan kata lain, pemilih membenarkan kami melakukan I/O merentasi berbilang saluran. Ia paling sesuai untuk saluran berasaskan soket.
Sehingga JDK 7, NIO telah mengalami penambahbaikan yang mendalam, sehingga istilah NIO. 2 sering digunakan. Penambahbaikan itu termasuk tiga pakej baharu (java.nio.file, java.nio.file.attribute dan java.nio.file.spi); beberapa kelas, antara muka dan kaedah baharu; dan sokongan langsung untuk I/O berasaskan aliran. Penambahan telah mengembangkan cara NIO boleh digunakan, terutamanya dengan fail.
Adalah penting untuk memahami bahawa NIO tidak menggantikan kelas I/O yang terdapat dalam java.io, yang sedang dibincangkan dalam bab ini. Sebaliknya, kelas NIO direka bentuk untuk melengkapkan sistem I/O standard, menawarkan pendekatan alternatif, yang mungkin bermanfaat dalam beberapa keadaan.
Atas ialah kandungan terperinci Tanya Pakar - I/O. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!