Anda di halaman 1dari 4

Banyak dari program yang Anda buat dengan Java perlu berinteraksi dengan beberapa jenis sumber data.

Informasi dapat disimpan pada komputer di banyak cara, termasuk file pada hard drive atau CD-ROM, halaman di situs Web, dan bahkan byte dalam memori komputer. Anda mungkin berharap untuk memerlukan teknik yang berbeda untuk menangani masingmasing berbeda perangkat penyimpanan. Untungnya, itu tidak terjadi. Di Jawa, informasi dapat disimpan dan diambil menggunakan komunikasi sistem yang disebut aliran, yang diimplementasikan dalam paket java.io. Hari ini, Anda belajar cara membuat input stream untuk membaca informasi dan output sungai untuk menyimpan informasi. Anda akan bekerja dengan setiap hal berikut: n Byte stream, yang digunakan untuk menangani byte, bilangan bulat, dan lainnya tipe data sederhana n Karakter sungai, yang menangani file teks dan sumber-sumber teks lain Anda dapat menangani semua data dengan cara yang sama ketika Anda tahu bagaimana bekerja dengan input stream, apakah informasi yang datang dari sebuah hard disk, Internet, atau bahkan program lain. Hal yang sama berlaku untuk menggunakan keluaran untuk mengirimkan data stream.
Pengantar Streaming Di Jawa, semua data ditulis dan dibaca menggunakan sungai. Streaming, seperti badan air yang berbagi nama yang sama, membawa sesuatu dari satu tempat ke tempat lain. Sungai adalah jalan yang ditempuh oleh data dalam sebuah program. Input stream mengirimkan data dari sumber ke dalam sebuah program, dan output stream mengirimkan data dari sebuah program untuk tujuan. Anda akan berurusan dengan dua jenis aliran ini: byte stream dan stream karakter. byte sungai membawa integer dengan nilai-nilai yang berkisar dari 0 sampai 255. Beraneka beragam data dapat dinyatakan dalam format byte, termasuk data numerik, program dieksekusi, internet komunikasi, dan bytecode-file kelas dijalankan oleh mesin virtual Java. Bahkan, setiap jenis data dibayangkan dapat dinyatakan baik menggunakan byte individual atau serangkaian byte dikombinasikan satu sama lain. Stream karakter adalah tipe khusus dari aliran byte yang menangani hanya data tekstual. Mereka dibedakan dari byte stream karena set karakter Jawa mendukung Unicode, suatu standar yang mencakup karakter lebih banyak dari dapat dinyatakan dengan mudah menggunakan byte. Setiap jenis data yang melibatkan teks harus menggunakan stream karakter, termasuk file teks, web halaman, dan jenis umum lainnya dari teks.

Menggunakan Stream Prosedur untuk menggunakan baik aliran byte atau aliran karakter di Jawa sebagian besar merupakan yang sama. Sebelum Anda mulai bekerja dengan spesifik dari kelas java.io, ini berguna untuk berjalan melalui proses menciptakan dan menggunakan sungai. Untuk input stream, langkah pertama adalah membuat objek yang terkait dengan sumber data. Sebagai contoh, jika sumber file pada hard drive Anda, benda FileInputStream bisa berhubungan dengan file ini. Setelah Anda memiliki objek streaming, Anda dapat membaca informasi dari sungai itu dengan menggunakan satu metode objek. FileInputStream termasuk metode read () yang mengembalikan byte membaca dari file tersebut.

Ketika Anda, re selesai membaca informasi dari sungai, Anda menelepon close () metode untuk menunjukkan bahwa Anda, re selesai menggunakan sungai. Untuk output stream, Anda mulai dengan menciptakan sebuah objek yang terkait dengan tujuan, data AOS. Salah satu objek tersebut dapat dibuat dari kelas BufferedWriter, yang mewakili cara yang efisien untuk membuat file teks. Menulis () metode adalah cara paling sederhana untuk mengirimkan informasi ke output stream, tujuan AOS. Misalnya, menulis BufferedWriter () metode dapat mengirim karakter individu ke output stream. Seperti dengan input stream, close () metode ini disebut pada output stream ketika Anda memiliki tidak ada informasi lebih banyak untuk mengirim. Penyaringan Stream Cara paling sederhana untuk menggunakan stream adalah untuk menciptakan dan kemudian memanggil metode untuk mengirim atau menerima data, tergantung pada apakah itu, AOS aliran output atau input stream. Banyak dari kelas Anda akan bekerja dengan hari mencapai hasil yang lebih canggih ketika filter adalah terkait dengan aliran sebelum membaca atau menulis data. Filter adalah jenis aliran yang mengubah cara aliran yang ada ditangani. Pikirkan sebuah bendungan di aliran air gunung. Bendungan mengatur aliran air dari titik hulu ke hilir poin. Bendungan adalah jenis filter, remove, dan air akan mengalir dengan cara yang kurang terkontrol. Prosedur untuk menggunakan filter pada sungai adalah sebagai berikut: 1. Buat aliran yang berhubungan dengan sumber data atau tujuan data. 2. Mengasosiasikan sebuah filter dengan aliran itu. 3. Membaca atau menulis data dari filter daripada aliran asli. Metode yang panggilan pada filter adalah sama sebagai metode yang Anda sebut di sungai. Ada read () dan write () metode, seperti akan ada pada aliran tanpa filter.

Anda bahkan dapat mengasosiasikan sebuah filter dengan filter lain, sehingga jalan berikut untuk informasi adalah mungkin: input stream yang berhubungan dengan file teks adalah disaring melalui Spanyol-untukTerjemahan Inggris filter, yang kemudian disaring melalui filter tidak-senonoh, dan akhirnya dikirimkan ke tujuannya, Aia manusia yang ingin membacanya. Jika hal ini membingungkan secara abstrak, Anda akan memiliki kesempatan untuk melihat proses dalam praktek di bagian berikut. Pengantar Streaming 407 15 penanganan Pengecualian Beberapa pengecualian dalam paket java.io mungkin terjadi ketika Anda bekerja dengan file dan sungai. Pengecualian FileNotFound terjadi ketika Anda mencoba untuk membuat objek sungai atau file menggunakan file yang tidak bisa ditemukan. Sebuah EOFException menunjukkan bahwa akhir file telah tercapai tiba-tiba sebagai data sedang membaca dari file tersebut melalui input stream. Ini pengecualian adalah subclass dari IOException. Salah satu cara untuk menangani semua dari mereka adalah untuk melampirkan semua pernyataan input dan output dalam blok try-catch yang menangkap IOException objek. Panggilan toString () atau getMessage () pengecualian itu metode dalam blok catch untuk mengetahui lebih lanjut tentang masalah ini. byte Stream Semua byte stream adalah subclass dari InputStream baik atau OutputStream. kelas-kelas bersifat abstrak, sehingga Anda tidak dapat membuat sungai dengan membuat objek dari kelaskelas secara langsung. Sebaliknya, Anda membuat aliran melalui salah satu subclass mereka, seperti sebagai berikut: n FileInputStream dan FileOutputStream-Byte stream disimpan dalam file pada disk, CD-ROM, atau perangkat penyimpanan lainnya n DataInputStream dan DataOutputStream-Suatu aliran disaring byte dari data yang seperti integer dan floating-point dapat dibaca InputStream adalah superclass dari semua input stream. berkas Streaming Aliran byte Anda akan bekerja dengan paling sering cenderung berkas sungai, yang digunakan untuk bertukar data dengan file pada disk drive, CD-ROM, atau perangkat penyimpanan lainnya Anda dapat merujuk ke dengan menggunakan jalur folder dan nama file. Anda dapat mengirim byte ke output stream file dan menerima byte dari input stream file. Input File Streaming Sebuah input stream file ini dapat dibuat dengan konstruktor (String) FileInputStream. para Argumen string harus merupakan nama file. Anda dapat menyertakan referensi path dengan nama file, yang memungkinkan file yang akan di folder yang berbeda dari kelas loading. Pernyataan berikut membuat file stream input dari file yang scores.d

Referensi path dapat ditunjukkan dengan cara yang khusus untuk platform, seperti contoh ini untuk membaca file pada sistem Windows: FileInputStream f1 = FileInputStream baru ("\ \ Data \ \ calendar.txt"); Karena Java menggunakan karakter backslash dalam kode melarikan diri, kode '\ \' harus digunakan di tempat '\' dalam referensi jalan di Windows. Berikut adalah contoh Linux: FileInputStream f2 = FileInputStream baru ("/ data / calendar.txt"); Sebuah cara yang lebih baik untuk mengacu pada jalan adalah dengan menggunakan pemisah variabel kelas di kelas File, yang bekerja pada setiap sistem operasi: arang September = File.separator; FileInputStream f2 = FileInputStream baru (September "Data" September "calendar.txt"); Setelah Anda membuat sebuah input stream file, Anda dapat membaca byte dari sungai dengan memanggil read () metode. Metode ini mengembalikan sebuah integer yang berisi byte berikutnya di sungai. Jika metode mengembalikan -1, yang bukan merupakan nilai byte mungkin, ini menandakan bahwa akhir file stream telah dicapai. Untuk membaca lebih dari satu byte data dari sungai, panggilan membaca nya (byte [], int, int) metode. Argumen untuk metode ini adalah sebagai berikut: 1. Sebuah array byte dimana data akan disimpan 2. Elemen dalam array dimana byte pertama data yang harus disimpan 3. Jumlah byte untuk membaca Tidak seperti metode read () lainnya, ini tidak kembali data dari sungai. Sebaliknya, baik mengembalikan integer yang mewakili jumlah byte yang dibaca atau -1 jika tidak ada byte yang baca sebelum akhir sungai tercapai. Pernyataan berikut menggunakan sementara loop untuk membaca data dalam objek FileInputStream disebut diskfile: newByte int = 0; sementara (newByte = -1!) { newByte = diskfile.read (); System.out.print (newByte ""); } Byte Stream 409 15 CATATAN

Anda mungkin juga menyukai