Overview I/O Streams Byte stream & Character Stream Hirarki class pada package java.io Read & write streams

dokumen-dokumen yang mirip
IOSTREAM bagian 2. Kholid Fathoni

I/O Streams. Oleh Kholid Fathoni

PRAKTIKUM 7 DASAR INPUT OUTPUT

Topik. Stream I/O Cara menggunakan Stream Hierarchy Java I/O Membaca File Menulis File Menghapus File Cara membaca isi Direktori dalam file

PENGENALAN JAVA (2)

A. TUJUAN PEMBELAJARAN

PEMROGRAMAN JARINGAN MODUL 3 STREAM

STREAM DAN FILE. PipedInputStream, SequenceInputStream, dan StringBufferInputStream.

A. TUJUAN PEMBELAJARAN

2. Pernyataan mana yang dapat kita laksanakan dengan menggunakan class File? Mengganti direktori tempat bekerja saat ini

CompileError - The method write(int) in the type FileOutputStream is not applicable for

Pertemuan 7 File pada Java

Dapat dicompile dan mendapat output hai. Dapat dicompile dan mendapat output disana

PERTEMUAN V STREAM DAN OOP TUJUAN PRAKTIKUM. 2. Praktikan memahami pemrograman berbasis objek dengan mengetahui karakteristik OOP.

PEMROGRAMAN JAVA : STREAM DAN FILE

Pertemuan ke-1 STREAM DAN IO. A. TUJUAN : Mampu mengimplementasikan kelas-kelas untuk menangani aliran data.

I/O (Input dan Output)

Introduction To Stream

Objek Stream, Akses File & Exception Handling

Pemrograman Socket menggunakan TCP

MODUL 7 I/O Stream. Tujuan: Mahasiswa dapat mengenal dan memahami konsep I/O Stream, serta penerapan I/O Stream dalam konsep OOP

Materi kuliah I/O & FILE. Ir. Roedi Goernida, MT.

PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH)

OPERASI FILE READ WRITE

BAB Argument Command-Line dan System Properties

Protokol. Pemrograman Client/Server dengan Java Socket. Protokol TCP/IP. Tipe pemrograman jaringan. Java Socket

Pemrograman I/O File

Connection Oriented. Kholid F.

PRAKTIKUM 8 FILE INPUT OUTPUT

TPI4202 e-tp.ub.ac.id. Lecture 4 Mas ud Effendi

1.Tujuan. 2. Latar Belakang. Tahu tipe-tipe stream yang umum digunakan Menggunakan class File dan methodnya

PEMROGRAMAN II. By : Sri Rezeki Candra Nursari. Penilaian : Gasal TA 2011/2012. UAS (lisan) = 35 % UTS = 25 % Tugas = 15 % Praktikum = 25 %

12.2 Tipe-Tipe Stream yang Umum Digunakan

Pemrograman Jaringan 4. Java IO

BAB III SEKUENSIAL 3.1. Kompetensi Dasar 3.2. Perintah Masukan a. Scanner

Cara Membaca File Text di JAVA

BAB 5 Mendapatkan Input dari Keyboard

BAB 5 Mendapatkan Input dari Keyboard

Struktur Data dan Algoritma IKI10400 Semester Gasal 2010/2011 Fakultas Ilmu Komputer Universitas Indonesia

Pemrograman Dasar P E M R O G R A M A N T E R S T R U K T U R I N P U T / O U T P U T

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

Pemrograman JAVA INPUT-OUTPUT

BAB 2 INPUT DARI KEYBOARD

MK. Pemrograman Berorientasi Objek. Input dari Keyboard. Karmilasari

Exception adalah penanda bahwa kondisi/kejadian yang tidak diinginkan telah terjadi pada program kita. Ada 2 jenis exception (+1 Error):

PENGAKSESAN FILE DI JAVA

JAVA BASIC PROGRAMMING Joobshet

1. Apa yang harus dilakukan oleh programmer untuk menangani user-defined exception? Menuliskan exception sebagai start method

Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum

Operating System. I/O System. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

Modul Praktikum Pemrograman

Bahasa Pemrograman :: Dasar Pemrograman Java

Algoritma dan Pemrograman File Sekuensial. Oleh: Eddy Prasetyo N 05/05/2014 1

Tidak perlu ditentukan jumlah karakternya Inisialisasi iili i: Langsung tanpa kata kunci new Langsung dengan kata kunci new

J2ME GUI dan Interkoneksi Client Server

12 Input / Output. Sistem I/O. Hardware I/O. Struktur PC Bus

PEMROGRAMAN BERORIENTASI OBJEK

KELOMPOK 57.2 APLIKASI ANTARMUKA I/O SUBSISTEM KERNEL OPERASI PERANGKAT KERAS. Kritik dan saran :

Input - Output PEMROGRAMAN DASAR. Dr. Eng. Herman Tolle, ST., MT. Sistem Informasi PTIIK UB Semester Ganjil 2014/2015

BAB 12 MANIPULATION FILE

LAPORAN TUGAS 2 PRAKTIKUM DASAR PEMROGRAMAN. Disusun Oleh : Aprivivianti Cahyaningrum ( )

Variabel tersebut seharusnya bisa dideklarasikan didalam try block dan block catch

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

Waktu Sisa : 0:43:4. Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum. Mengerjakan finally. Diluar block

FILE & STREAM Bab FILE

Network Programming. Oleh: Idris Winarno (thanks to my sist)

MENGGUNAKAN TCP SOCKET. Oleh: M. Ghazali a.k.a. ghanoz 2480

1. Disk Schedulling 2. Buffering

Tidak ada satupun dari pilihan di atas yang benar karena checked exception tidak bisa ditulis

Sistem I/O. Hardware I/O Interface Aplikasi I/O Subsystem Kernel I/O Transformasi Permintaan (Request) I/O ke Operasi Hardware Stream Unjuk Kerja

EXCEPTION. 2. Pada kondisi bagaimana klausa finally tidak akan dieksekusi? Kode didalam block try memiliki statement return

Penggunaan Netbeans IDE, Hello World, variable dan Operator aritmetika.

Nama Lengkap : Muiz Lidinillah NIM :

Praktikum 14. Sistem File 1 KONSEP FILE POKOK BAHASAN: TUJUAN BELAJAR:

SISTEM OPERASI. CSP 2702 Semester/SKS : 4/3 Program Studi : Sistem Komputer Kamis, Ruang : P-22

PRAKTEK 1 CLASS, ATTRIBUTE, METHOD, DAN OBJEK

Perangkat Keras Masukan/Keluaran. Kelompok : Intan Sari H. H. Z Verra Mukty

Pemrograman Jaringan 5.

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

10.1 Konsep dasar jaringan

Sistem Operasi. Divais Input/Output 2016

Pemrograman Jaringan 6.

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

Pemrograman Berbasis Objek. Exception Handling. Politeknik Elektronika Negeri Surabaya

LAMPIRAN A: SOURCE CODE PROGRAM CLASS METODE

BAB II VARIABEL DAN TIPE DATA

LAPORAN PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK

Metode Sequential Searching di Java Console

Pemrograman Berorientasi Obyek. Exception Handling. Politeknik Elektronika Negeri Surabaya

2 TIPE DATA DAN VARIABEL

Exception Handling. Topik

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

Pertemuan 11: OPERASI FILE dalam C

KONSEP dan ATRIBUT SISTEM BERKAS

TPI4202 e-tp.ub.ac.id

File & Stream. Kegunaan File : file : ini. dengan. iostream.h) suatu. stream, Jika. dapat menghubungkan. mendeklarasikan. kita.

OPERASI FILE & EXCEPTION HANDLING. Herman Tolle

PERCOBAAN 6 EXCEPTION

IKG2I4 / Software Project I

IF2281 Pemrograman Berorientasi Objek Program kecil Pelengkap Diktat. import java.io.*; import java.util.scanner; class IO {

Transkripsi:

I/O STREAMS

TOPIK Overview I/O Streams Byte stream & Character Stream Hirarki class pada package java.io Read & write streams InputStream & OutputStream Reader & Writer RandomAccessFile Memfilter stream Membaca input melalui keyboard

STREAM I/O Semua data di Java dibaca dan ditulis dengan menggunakan stream. Stream adalah representasi abstrak dari aliran data yang berjalan darisumber (input stream) ke tujuan (output stream). Contoh: Membaca dan menulis file di dan ke harddisk Memcaca dan menulis teks ke console. Membaca dan menulismelalui llinetwork

I/O STREAMS Untuk membaca, program membuka stream pada sumber ( file, memory, socket) dan membaca informasi secara sekuensial. Untuk menulis, program mengirim informasi ke tujuan dengan cara membuka stream tujuan, selanjutnya menulis informasi secara sekuensial.

STREAM Byte stream (8 bit) digunakan untuk byte, integer, dan simple data type yang lain. Misal: numerical data, executable programs, dll Character stream (16bit) digunakan untuk data tekstual (teks), mendukung unicode. Misal: text files

BYTE STREAM

CHARACTER STREAM

KARAKTER ENKODING OS menggunakan beberapa tipe skema pengkodingan berbeda dalam menyimpan karakter. Karakter dapat digambarkan dalam 1 byte (0 255) atau 2 byte (0 65535) atau dengan skema enkoding lainnya. Byte 0 mungkin menggambarkan karakter a pada skema enkoding tertentu, tetapi mungkin menggambarkan karakter spasi pada skema enkoding lainnya. Java didesain sebagai bahasa yang tidak bergantung platform, sehingga menggunakan skema enkoding kdi yang dikenal sebagai karakter Unicode. Skema ini digunakan Java untuk menangani stream karakter. Masing2 OS memiliki tipe karakter enkoding yang mungkin berbeda. b Contoh, Windows menggunakan ISO 8859 1 (atau ANSI), dan Macintosh menggunakan Macintosh hlti Latin 2. Terdapat tlbihd lebih dari 100 set karakter berbeda yang dapat dikenali oleh Java.

KARAKTER ENKODING (CONT.)

TEXT REPRESENTATION Java a menggunakan2 a macamrepresentasi ese teks: Unicode UTF Untuk merepresentasikan character dan string secara internal Untuk pertukaran data teks melalui network UTF = UCS Transformation Format UCS = Universal Character Set

CARA MENGGUNAKAN STREAM P ROSEDUR PENGGUNAAN BYTE STREAM DAN CHARACTER STREAM SAMA Input stream 1. Membuat obyek yg berasosiasi dg data source. Mis : FileInputStream 2. Membaca informasi dari stream dg menggunakan method obyek tsb. Mis: read() 3. Bila selesai, panggil method close. Output stream 1. Membuat obyek yg berasosiasi dg data destination. Mis : BufferedWriter 2. Menulis informasi ke stream tujuan dg menggunakan method obyek tsb. Mis: write() 3. Bila selesai, panggil method close.

THE JAVA.IO HIERARCHY Package java.io dibuat sedemikian rupa sehingga memudahkan dhk pengguna dl dalam melakukan lkk input atau output berbagai tipe data seperti Objects, Strings, dan bytes dengan minimal amount of coding. Juga didesain supaya bisa menerima input dan Juga ddesa supaya bsa e e a put da output dari berbagai sumber seperti keyboard, network, dan disk.

INPUTSTREAM AND OUTPUTSTREAM CLASSES Level tertinggi pada hirarki package java.io adalah dua abstract class: InputStreamdan OutputStream Keduanya langsung dibuat dengan meng extend class Object. Class InputStream dan OutputStream mempunyai beberapa method dasar untuk membacadan menulis bytes.

INPUTSTREAM DAN OUTPUTSTREAM InputStream dan OutputStream adalah a abstract class untuk stream I/O, yaitu untuk membaca dan menulis data dari danke file. Untuk membaca digunakan class yang mengimplementasikan InputStream, contoh : FileInputStream. Untuk menulis digunakan class yang mengimplementasikan OutputStream, contoh : FileOutputStream.

HIRARKI CLASS INPUTSTREAM DAN OUTPUTSTREAM InputStream FileInputStream ByteArrayInputStream FilterInputStream DataInputStream BufferedInputStream PushbackInputStream ObjectInputStream PipedInputStream SequenceInputStream OutputStream FileOutputStream ByteArrayOutputStream FilterOutputStream DataOutputStream BufferedOutputStream PrintStream ObjectOutputStream PipedOutputStream

MEMBACA FILE: FILEINPUTSTREAM Untuk membaca file dari disk, diperlukan langkah langkah: 1. Definisikan nama file yang akan dibaca melalui class File, atau nama file lengkap dengan path. 2. Periksa apakah file tersebut ada (exist) dan tipenya adalah file (bukan direktori). 3. Siapkan obyek FileInputStream untuk membaca isi file. 4. Baca input dengan menggunakan method read(), dan bila tidak ada input lagi, FileInputStream memberikan indikator 11 sebagai tanda tidak ada lagi data yang akan dibaca. 5. Gunakan method close() untuk menutup FileStream.

CONTOH 1: MEMBACA FILE Program yang menggunakan class FileInputStream untuk menghitung jumlah bytes yang dibaca dari File. Perhatikan bahwa membaca file dapat menyebabkan Exception, karena itu diperlukan penangkapan sinyalexception bilaterjadi error.

CONTOH 2: MEMBACA FILE Program yang membaca file dengan menggunakan FileInputStream dan menggunakan PrintStream untuk menampilkan data yang telah dibaca dari file. Contoh PrintStream: System.out Gunakan method println() atau print() untuk menampilkandata.

MENULIS FILE: FILEOUTPUTSTREAM Untuk menulis file ke disk, diperlukan langkah langkah: 1. Definisikan nama file yang akan diupdate melalui class File, atau nama file lengkap dengan path. 2. Siapkan obyek FileOutputStream untuk menulis isi file. 3. Gunakan method write() dan getbytes() untuk menulis data. write() menulis array dari byte, maka data yang akan ditulis harus ditransfer terlebih bihdhl dahulu ke array. untuk memindah data dari tipe String ke array gunakan method getbytes(). 4. Gunakan method flush() untuk memaksa sistem untuk mentransfer isi buffer di memori ke disk. 5. Gunakan method close() untuk menutup FileStream.

CONTOH Program dengan menggunakan class FileOutputStream untuk menulis File. Perhatikan bahwa menulis file dapat menyebabkan Exception, karena itu diperlukan penangkapan sinyal exception bila terjadi error.

READER DAN WRITER Digunakan untuk membaca dan menulis data tekstual. Lebih mudah daripada menggunakan InputStream dan OutputStream. Untuk mempercepat performance, gunakan fasilitas buffering dengan: BufferedReader.

READER Untuk membaca teks baris per baris digunakan teknik sebagai berikut: File f = new File( c:\\oop\\text.txt ); FileReader fr = new FileReader(f); BufferedReader fin= new BufferedReader(fr); FileReader adalah jalur yang disediakan untuk membaca File. BufferedReader membungkus FileReader agar input tersebut dapat dikelola dengan teknik buffering, yaitu tidak membaca per satu karakter, melainkan menyimpan dalam buffer, setelah tlhpenuh (atau setelah tlhnewline terdeteksi), t buffer akan diberikan ke program.

HIRARKI CLASS READER DAN WRITER Reader BufferedReader LineNumberReader CharArrayReader FilterReader PushBackReader InputStreamReader FileReader PipedReader StringReader Writer BufferedWriter CharArrayWriter FilterWriter OutputStreamWriter FileWriter PipedReader StringWriter i PrintWriter

READER Setelah obyek BufferedReader terbentuk, maka String dapat diambil dengan method readline() yang mengembalikan nilai balik String. Untuk menampilkan data ke layar gunakan print() atau println(). Contoh: membaca file dan menampilkan data ke layar.

WRITER Untuk menulis teks baris per baris digunakan teknik sebagai berikut: File f = new File( c:\\oop\\mytext.txt ); FileWriter fw = new FileWriter(f); PrintWriter fin = new PrintWriter(fw); Enkapsulasi file menjadi FileWriter diperlukan untuk mendefinisikan jalur output. Pembungkusan dengan PrintWriter diperlukan agar program dapat menggunakan method print() dan println() atas obyek tersebut. Contoh: Menulis file

RANDOMACCESSFILE Perbedaan RandomAccessFile(RAF) dengan FileInputStream dan FileOutputStream adalah sekali RAF dibuat maka bisa dibaca dansekaligus ditulis. RAF bisa dibaca dan ditulis pada titik tertentu dl dalam file dengan menggunakan file pointer. file pointer adalah variabel bertipe long yang menyimpan dimana RandomAccessFile akan dibaca dan ditulis dalam file.

RANDOMACCESSFILE RandomAccessFile mengimplementasikan DataInput dan DataOutput, sehingga RAF mempunyai semua method yang dipunyai oleh DataInput dan DataOutput. RAF juga mempunyai methodnya sendiri.

SEEKING Methods that support seeking long getfilepointer() throws IOException Returns the current position within the file, in bytes. Subsequent reading andwriting will take place starting at this position. long length() throws IOException Returns the length of the file, in bytes. void seek(long position) throws IOException Sets the current position within the file, in bytes. Subsequent reading and writing will take place starting at this position. Files start at position 0.

RANDOM-ACCESS FILE METHODS FOR PRIMITIVE DATA TYPES

THE RANDOMACCESSFILE CLASS Constructors: RandomAccessFile(String file, String mode) RandomAccessFile(File file, String mode) Open file mode: r : reading only rw : reading and writing rw = This line of code will open a file or create one if it is not present already

CONTOH : public static void main(string[]args) args) throws IOException{ File f = new File("test3.txt"); if (!f.isfile()!f.canread()!f.canwrite()) throw new IOException(); } RandomAccessFile raf = new RandomAccessFile(f, "rw");

RANDOM-ACCESS FILES FUNCTIONALITY: Seeking to any position within a file Reading and writing single or multiple bytes Reading and writing groups of bytes, treated as higher level data types Closing

CONTOH :

RANDOMACCESSFILE Obyek RandomAccessFile dapat menambahkan (append) data di akhir file. Berbeda dengan FileOutputStream yang meng overwrite semua data yang sebelumnya sudah ada. Jika menambahkan data pada file, data yang ada setelah pointer akan di overwrite. File yang ditulis oleh FileOutputStream dapat dibaca oleh RandomAccessFile.

MEMBACA INPUT DARI KEYBOARD Gunakan System.in sebagai InputStream untuk mendapatkan input dari keyboard. Ingat! System.in adalah InputStream agar input bisa didapatmelalui Reader, maka diperlukan enkapsulasi sebagai berikut: InputStreamReader isr = new InputStreamReader(System.in); BufferedReader buf = new BufferedReader(isr); Sl Selanjutnya jt String dapatdiperoleh dengan mengaplikasikan readline(). String s = buf.readline();

Question??