Artikel ini terutama memperkenalkan penggunaan aliran Java Inputstream.
(1) FileInputStream: Subclass, Saluran untuk Membaca Data
Langkah untuk digunakan:
1. Dapatkan file target: file baru ()
2. Buat saluran: FileInputString baru ()
3. Baca data: baca ()
4. Sumber Daya Rilis: Tutup ()
// Beberapa paket yang akan diimpor secara default impor java.io.file; import java.io.fileInputStream; impor java.io.ioException;
public static void main (string [] args) melempar ioException {// TODO Metode yang dihasilkan secara otomatis Stub // Metode panggilan untuk melihat efeknya test1 (); System.out.println ("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------(2) Tiga cara membaca data
1. Baca langsung (hanya satu byte pada satu waktu)
int date = FileInputStream.read (); char date3 = (char) fileInputStream.read ();
//Print public static void test1() throws IOException{//(1) Get the target file path File file = new File("C://Users//joke//Desktop//Demo1.java");//(2) Create a channel based on the target file path: new FileInputStream(file)FileInputStream fileInputStream = new FileInputStream(file);//(3) Baca data: baca (); int date = FileInputStream.read (); // Berikut adalah int tipe int date2 = fileInputStream.read (); // char date3 = (char) fileInputStream.read (); // tunjukkan system.out.println (tanggal+"//"+date2+"//"+date3); // (4) Lepaskan sumber daya fileInputStream.close ();}2. Gunakan untuk loop saja (efisiensi INE)
untuk (int i = 0; i <file.length (); i ++) {System.out.print ((char) fileInputStream.read ()); } // Metode traversal dua-loop statis public void test2 () melempar ioException {// Efisiensi uji melalui waktu start waktu = System.currentTimeMillis (); File file = file baru ("c: //users/joke//desktop//demo1.java"); fileinputstreamp = iNpoPerEnpeam = nEwoLeam = neenpeam = neenpeam = neenpeam =demo1.java "); Fileinputstreamp = iNpoPerPeam = ne baru; / 0;3.Byte [] buffer (hanya dapat membaca jumlah byte yang ditentukan dan tidak dapat membaca file yang lengkap)
byte [] bt = byte baru [1024]; int count = fileInputStream.read (bt); System.out.println (string baru (bt, 0, count));
// Metode 3 Buat buffer (hanya dapat membaca ukuran yang ditentukan, tidak membaca file lengkap) public static void test3 () melempar ioException {file file = file baru ("c: //users//joke//desktop//demo bufecke (fILE BUFFER (CEPATE (FileInputStream FileInputStream = buffer, untuk dibaca byte [] bt = byte baru [1024]; // baca () baca byte int count = fileInputStream.read (bt); System.out.println (count); // Tunjukkan jumlah byte baca system.out.println (string baru (bt, 0, count)); // Konversi byte ke string untuk menampilkan fileInputStream.close ();}4. Menggabungkan buffer dan loop. Buffer umumnya diatur ke kelipatan 1024. Semakin besar set buffer, semakin tinggi efisiensi baca.
byte [] bt = byte baru [1024]; Int Count = 0; while ((count = fileInputStream.read (bt))! = -1) {System.out.println (string baru (bt, 0, count)); } // Metode Empat loop dikombinasikan dengan buffer (efisiensi tinggi) public static void test4 () melempar IoException {// Efisiensi Tes dengan waktu starttime panjang = System.currentTimeMillis (); file file = file baru ("c: //users/joke//desktop//demo1.java"); FileInputStream (File); // Buffer umumnya diatur ke kelipatan 1024. Secara teoritis, semakin besar set buffer, semakin tinggi byte efisiensi bacaan [] bt = byte baru [1024]; int count = 0; // ketika baca kembali -1, terbukti bahwa while ((count = fileinputstream.read (bt), -1), - -dibuktikan dengan while ((count = FileinputStream.read (Bt) (Bt!), -ini terbukti bahwa while (count = FileinputStream.read (Bt) (Bt! byte di bt) system.out.println (string baru (bt, 0, count));} fileInputStream.close (); long endtime = system.currentTimeMillis (); System.out.println ("Waktu yang Diambil untuk Membaca File:"+(endtime-starttime));}Momo berkata:
Di atas, membandingkan metode kedua dan keempat, Anda akan menemukan bahwa efisiensi metode 4 relatif tinggi, sehingga keempat metode yang disarankan digunakan
Di sini kami langsung melempar pengecualian, selain melempar, kami juga dapat menggunakan
try{ }cater{ }finally{ }
Untuk menangani pengecualian
Di atas adalah penggunaan inputString (), aliran input aliran Java IO yang diperkenalkan kepada Anda. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!