Atur cara Java membenarkan penghantaran data dengan peranti input dan output melalui strim. Strim dalam Java semuanya ada dalam pakej java.io dan dipanggil strim IO (input dan output). Strim IO boleh dibahagikan kepada aliran bait dan aliran aksara mengikut data operasi yang berbeza Mengikut arah penghantaran data yang berbeza, ia boleh dibahagikan kepada aliran input dan aliran keluaran Program membaca data daripada aliran input dan menulis kepada aliran keluaran . Data, dalam pakej IO, input dan output strim bait diwakili oleh java.InputStream dan java.io.OutputStream masing-masing, dan input dan output strim aksara diwakili oleh java.io.Reader dan java. io.Penulis masing-masing.
Dalam komputer, semua fail, sama ada teks, gambar, audio atau video, wujud dalam bentuk binari Strim Byte ialah yang paling biasa digunakan dalam atur cara strim input dan strim output bait mengikut arah penghantaran data Dalam JDK, dua kelas abstrak InputStream dan OutputStream Ia adalah kelas induk utama bagi strim bait adalah Inherits OutputStream.
int read()//Baca bait lapan bit daripada aliran input dan tukarkannya kepada nilai antara 0 dan 255 integer antara, dan kembalikan integer ini
int read(bait[]b)//Baca beberapa bait daripada aliran input, simpannya pada tatasusunan bait yang ditentukan oleh parameter b, jadual integer yang dikembalikan 4 Bilangan bait dibaca
int read(bait[]b,int off,int len)//Baca beberapa bait daripada aliran input dan simpannya ke tatasusunan bait yang ditentukan oleh parameter b, mati menentukan perkataan Tatasusunan bahagian mula menyimpan indeks permulaan data, len mewakili bilangan bait dibaca
void close()//Tutup aliran input ini dan lepaskan semua sumber sistem yang dikaitkan dengan strim
void write(int b)//Tulis bait ke aliran output
void write(bait[]b)//Letakkan bait yang ditentukan oleh parameter b Tulis semua bait tatasusunan ke aliran output
void write(bait[] b,int off,int len)//Tulis bait len bermula dari offset off dalam tatasusunan bait yang ditentukan ke strim output
void flush()//Refresh strim output ini dan paksa tulisan tangan semua bait output buffer
void close()//Tutup strim output ini dan lepaskan semua sumber sistem yang berkaitan dengan strim ini
Kaedah flush() digunakan untuk memaksa data dalam penimbal strim output semasa (biasanya tatasusunan bait ) untuk ditulis pada peranti sasaran Proses ini dipanggil pembilasan. Walaupun kedua-dua kelas InputStream dan OutputStream menyediakan beberapa kaedah yang berkaitan dengan membaca dan menulis data, kedua-dua kelas ini adalah kelas abstrak dan tidak boleh dijadikan instantiated.
Memandangkan data dalam komputer pada asasnya disimpan dalam fail pada cakera keras, apabila mengendalikan fail, data dibaca daripada fail dan ditulis ke file. FileInputStream dan File Output Stream ialah dua kelas untuk operasi membaca dan menulis. Memandangkan membaca data daripada fail adalah operasi berulang, penyataan gelung diperlukan untuk mencapai bacaan data yang berterusan.
package IO; import java.io.FileInputStream; public class Li01 { public static void main(String[] args) throws Exception{ FileInputStream in=new FileInputStream("test.txt"); int b=0; while(true){ b=in.read(); if(b==-1){ break; } System.out.print(b+" "); } in.close(); } }
Hasil demo
Sebab nombor dikeluarkan adalah kerana fail pada cakera keras adalah dalam bentuk bait dan dibaca Apabila menggunakan data fail, anda mesti memastikan bahawa fail itu wujud dalam direktori yang sepadan dan boleh dibaca.
package IO; import java.io.FileOutputStream; import java.io.OutputStream; import java.nio.charset.StandardCharsets; public class Li02 { public static void main(String[] args) throws Exception{ OutputStream out=new FileOutputStream("example1.txt"); String str="好好学习,天天向上!"; byte[]b=str.getBytes(StandardCharsets.UTF_8); for(int i=0;i<b.length;i++){ out.write(b[i]); } out.close(); } }
Apabila menulis data melalui FileOutputStream, fail example1.txt dicipta secara automatik dan data ditulis Masukkan fail. Jika anda menulis kandungan pada fail sedia ada, kandungan fail itu akan dikosongkan dahulu, dan kemudian data baharu akan ditulis. Jika anda ingin menambahkan kandungan pada fail sedia ada, anda boleh menambah boolean selepas fail namakan nilai dan ditetapkan kepada benar.
package IO; import java.io.FileOutputStream; import java.io.OutputStream; import java.nio.charset.StandardCharsets; public class Li02 { public static void main(String[] args) throws Exception{ OutputStream out=new FileOutputStream("example1.txt",true); String str="好好学习,天天向上!"; byte[]b=str.getBytes(StandardCharsets.UTF_8); for(int i=0;i<b.length;i++){ out.write(b[i]); } out.close(); } }
Atas ialah kandungan terperinci Contoh analisis operasi baca dan tulis fail Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!