Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Java Progamming Operasi I/O Disampaikan pada mata kuliah Object Oriented Programming.

Presentasi serupa


Presentasi berjudul: "Java Progamming Operasi I/O Disampaikan pada mata kuliah Object Oriented Programming."— Transcript presentasi:

1 Java Progamming Operasi I/O Disampaikan pada mata kuliah Object Oriented Programming

2 2 Pengenalan Streams  Dalam Java, operasi I/O menggunakan streams.  Streams adalah abstraksi dari sesuatu yang digunakan untuk menulis/menghasilkan dan membaca/mendapatkan suatu informasi.  Semua streams memiliki sifat yang sama walaupun peralatan fisik yang berhubungan dengan suatu stream berbeda-beda.

3 3 Pengenalan Streams  Secara umum streams dalam Java dibagi dalam 2 bagian besar : byte streams character streams  Byte Streams digunakan untuk operasi I/O yang menggunakan data biner (byte)  Character Stremas digunakan untuk menangani operasi I/O yang menggunakan character. Karakter dalam java menggunakan Unicode, sehingga penggunaan character streams dapat digunakan untuk menangani karakter- karakter internasional (karakter diluar kode ASCII Standar)  Semua class & interface yang berhubungan dengan streams ada dalam package java.io.

4 4 Byte Streams  Byte stream diperkenalkan oleh Java sejak JDK 1.0  Stream ini digunakan untuk menulis & membaca data biner  Untuk byte streams, Java menyediakan dua class abstrak yang merupakan superclass tertinggi yaitu : InputStream untuk membaca input OutputStream untuk menuliskan output

5 5 Character Streams  Character stream diperkenalkan oleh Java sejak JDK 1.1  Stream ini digunakan untuk menulis & membaca data yang berupa character.  Untuk character streams, Java menyediakan dua class abstrak yang merupakan superclass tertinggi yaitu : Reader untuk membaca input Writer untuk menuliskan output

6 6 Variabel Streams Standar  Secara default, Java telah menyediakan 3 buah variabel streams yang dapat langsung digunakan, karena variabel ini member public static dari class System, yaitu : in,out,err.  System.out : output stream standar. Secara default outputnya adalah console.  System.in : input stream standar. Secara default inputya adalah keyboard.  System.err : output stream untuk mencetak pesan kesalahan pada console (default).

7 7 Membaca Input dari Console menggunakan Byte Streams  Untuk membaca dari console digunakan variabel stream standar yang telah disediakan oleh class System, yaitu in.  Variabel ini memegang referensi dari objek dengan tipe InputStream sehingga untuk membaca dari console (yang diketik lewat keyboard), dapat menggunakan method read

8 8 Membaca Input dari Console menggunakan Byte Streams Contoh 1 : 1. import java.io.*; 2. public class DemoStream1 3. { 4. public static void main(String[] args) { 5. byte[] data = new byte[10]; 6. System.out.print("Masukkan data : "); 7. try { 8. System.in.read(data); 9. } catch (IOException e) { 10. System.out.print("Terjadi Exception"); 11. } 12. System.out.print("Yang anda ketik : "); 13. for (int i=0;i

9 9 Membaca Input dari Console menggunakan Byte Streams Contoh 2 : 1. import java.io.*; 2. public class DemoStream2 3. { 4. public static void main(String[] args) { 5. byte[] data = new byte[10]; 6. int panjang=0; 7. System.out.print("Masukkan data : "); 8. try { 9. panjang=System.in.read(data); 10. } catch (IOException e) { 11. System.out.print("Terjadi Exception"); 12. } 13. System.out.println("Yang anda ketik : "); 14. for (int i=0;i

10 10 Menulis Output ke Console menggunakan Byte Streams  Untuk menulis ke console digunakan variabel stream standar yang telah disediakan oleh class System, yaitu out.  Variabel ini memegang referensi dari objek dengan tipe PrintStream.  PrintStream merupakan turunan dari class OutputStream.  Method yang biasa digunakan : print(),println(),write().

11 11 Menulis Output ke Console menggunakan Byte Streams Contoh 3 : 1. import java.io.*; 2. public class DemoStream3 3. { 4. public static void main(String[] args) { 5. byte[] data = new byte[10]; 6. int panjang=0; 7. System.out.print("Masukkan data : "); 8. try { 9. panjang=System.in.read(data); 10. System.out.print("Yang anda ketik : "); 11. System.out.write(data); 12. System.out.println("Panjang Karakter : "+panjang); 13. System.out.print("index ke-1 sebnyk 3 : "); 14. System.out.write(data,1,3); 15. } catch (IOException e) { 16. System.out.print("Terjadi Exception"); 17. } } 20. }

12 12 Membaca Input dari File  Untuk membaca dari file dengan menggunakan byte stream,dapat digunakan class FileInputStream.  Deklarasi konstruktornya : FileInputStream(File file) throws FileNotFoundException FileInputStream (String name) throws FileNotFoundException

13 13 Membaca Input dari File Contoh 4 : 1. import java.io.*; 2. public class DemoStream4 { 3. public static void main(String[] args) { 4. byte data; 5. String namaFile = "test.txt"; 6. FileInputStream fin = null; 7. try{ 8. fin = new FileInputStream(namaFile); 9. data = (byte)fin.read(); 10. while (data!=-1) { 11. System.out.print((char)data); 12. data = (byte)fin.read(); 13. } 14. } 15. catch (FileNotFoundException e) { 16. System.out.println("File "+namaFile+" tidak ditemukan"); 17. } 18. catch (IOException e) { 19. System.out.println("Terjadi Exception"); 20. }

14 14 Membaca Input dari File Contoh 4 (lanjutan) : 1. finally { 2. if (fin!=null) { 3. try { 4. fin.close(); 5. } 6. catch (IOException e) { 7. System.out.println("Terjadi Exception"); 8. } 9. } 10. } 11. } 12. }

15 15 Menulis Output ke File  Untuk menulis ke file dengan menggunakan byte stream,dapat digunakan class FileOutputStream.  Deklarasi konstruktornya : FileOutputStream(String name) throws FileNotFoundException FileOutputStream(String name,boolean append) throws FileNotFoundException FileOutputStream(File file) throws FileNotFoundException FileOutputStream(File file,boolean append) throws FileNotFoundException

16 16 Menulis Output ke File Contoh 5 : 1. import java.io.*; 2. public class DemoStream5 { 3. public static void main(String[] args) { 4. byte data; 5. String namaFile = "test.txt"; 6. FileOutputStream fout = null; 7. try{ 8. fout = new FileOutputStream(namaFile); 9. System.out.println("Ketik : "); 10. data = (byte)System.in.read(); 11. while (data!=(byte)'\r') { 12. fout.write(data); 13. data = (byte)System.in.read(); 14. } 15. } 16. catch (FileNotFoundException e) { 17. System.out.println("File "+namaFile+" tidak dapat dicreate"); 18. } 19. catch (IOException e) { 20. System.out.println("Terjadi Exception"); 21. }

17 17 Menulis Output ke File Contoh 5 (lanjutan) : 1. finally { 2. if (fout!=null) { 3. try { 4. fout.close(); 5. } 6. catch (IOException e) { 7. System.out.println("Terjadi Exception"); 8. } 9. } 10. } 11. } 12. }

18 18 Membaca Input dari Console menggunakan Character Streams  Setiap karakter di Java = 16 bit.  Masalah : System.in beroperasi menggunakan byte stream (8 bit) Bagaimana caranya menggunakan System.ini pada character streams?  Solusi : Bungkus System.in dengan class InputStreamReader yang dapat mengkonversi byte streams ke character streams  Deklarasi konstruktor nya : InputStreamReader (Input Stream in)

19 19 Membaca Input dari Console menggunakan Character Streams  Masalah lain : byte streams (8 bit)  ukurannya lebih kecil dari char (16bit). Bagaimana mengkonversi dari byte streams menjadi char streams dengan benar?  Solusi : input stream sebaiknya dibaca dari buffer, bukan dari peralatan fisik langsung. Untuk bungkus objek dari InputStreamReader ke dalam class BufferedReader.  Deklarasi konstruktornya : BufferedReader (Reader in)

20 20 Membaca Input dari Console menggunakan Character Streams  Jadi jika ingin membaca dari console dengan Character Streams, dapat ditulis dengan cara : InputStreamReader input = new InputStreamReader(System.in); BufferedReader buff = new BufferedReader(input);  Atau dengan cara : BufferedReader buff = new BufferedReader( new InputStreamReader(System.in));

21 21 Membaca Input dari Console menggunakan Character Streams  Untuk membaca character streams, dapat menggunakan method : int read() throws IOException int read(char[] cbuf)throws IOException int read(char[] cbuf,int off,int len) throws IOException String readLine() throws IOException

22 22 Membaca Input dari Console menggunakan Character Streams Contoh 6 : 1. import java.io.*; 2. public class DemoStream6 { 3. public static void main(String[] args) throws IOException { 4. char data; 5. String str=""; 6. BufferedReader buff = 7. new BufferedReader(new InputStreamReader(System.in)); 8. System.out.println("Ketik : "); 9. data = (char) buff.read(); 10. while (data!='\r') { 11. str+=data; 12. data = (char) buff.read(); 13. } 14. System.out.println("Yang diketik : "+str); 15. System.out.println("Program Selesai"); 16. } 17. }

23 23 Membaca Input dari Console menggunakan Character Streams Contoh 7 : 1. import java.io.*; 2. public class DemoStream7 { 3. public static void main(String[] args) throws IOException { 4. String str; 5. String hasil=""; 6. BufferedReader buff = 7. new BufferedReader(new InputStreamReader(System.in)); 8. System.out.println("Ketik (akhiri dengan EXIT) : "); 9. str = buff.readLine(); 10. while (!str.equals("EXIT")) { 11. hasil+=str+'\n'; 12. str = buff.readLine(); 13. } 14. System.out.println("Yang diketik : "+hasil); 15. System.out.println("Program Selesai"); 16. } 17. }

24 24 Menulis Output ke Console menggunakan Character Streams  Untuk menulis output ke console dengan Character Streams, adalah dengan cara membungkus System.out dengan object output stream yang mendukung character streams.  Dalam hal ini gunakan class PrintWriter  Deklarasi konstruktornya : PrintWriter (OutputStream out); PrintWriter (OutputStream out,Boolean autoFlush);  Contoh : PrintWriter output = new PrintWriter (System.out,true);

25 25 Menulis Output ke Console menggunakan Character Streams Contoh 8 : 1. import java.io.*; 2. public class DemoStream8 { 3. public static void main(String[] args) throws IOException { 4. PrintWriter output = new PrintWriter (System.out,true); 5. output.println("Hello World"); 6. } 7. }

26 26 Membaca Input dari File menggunakan Character Streams  Untuk membaca input dari File dengan character streams, gunakan : FileReader (String fileName) throws FileNotFoundException

27 27 Membaca Input dari File menggunakan Character Streams Contoh 9 : 1. import java.io.*; 2. public class DemoStream9 { 3. public static void main(String[] args) { 4. String data; 5. String namaFile = "test.txt"; 6. FileReader fin = null; 7. try{ 8. fin = new FileReader(namaFile); 9. BufferedReader buff = new BufferedReader(fin); 10. data = buff.readLine(); 11. while (data!=null) { 12. System.out.print(data); 13. data = buff.readLine(); 14. } 15. } 16. catch (FileNotFoundException e) { 17. System.out.println("File "+namaFile+" tidak ditemukan"); 18. } 19. catch (IOException e) { 20. System.out.println("Terjadi Exception"); 21. }

28 28 Membaca Input dari File menggunakan Character Streams Contoh 9 (lanjutan): 1. finally { 2. if (fin!=null) { 3. try { 4. fin.close(); 5. } 6. catch (IOException e) { 7. System.out.println("Terjadi Exception"); 8. } 9. } 10. } 11. } 12. }

29 29 Menulis Output ke File menggunakan Character Streams  Untuk menulis ke file dengan menggunakan character stream,dapat digunakan class FileWriter.  Deklarasi konstruktornya : FileWriter(String fileName) throws FileNotFoundException FileWriter(String fileName, boolean append) throws FileNotFoundException FileWriter(File file) throws FileNotFoundException FileWriter(File file,boolean append) throws FileNotFoundException

30 30 Menulis Output ke File menggunakan Character Streams Contoh 10 : 1. import java.io.*; 2. public class DemoStream10 { 3. public static void main(String[] args) { 4. String data; 5. String namaFile = "test.txt"; 6. FileWriter fout = null; 7. BufferedReader buff = 8. new BufferedReader(new InputStreamReader(System.in)); 9. try{ 10. fout = new FileWriter(namaFile); 11. System.out.println("Ketik : "); 12. data = buff.readLine(); 13. while (!data.equals("EXIT")) { 14. fout.write(data+"\r\n"); 15. data = buff.readLine(); 16. } 17. }

31 31 Menulis Output ke File menggunakan Character Streams Contoh 10 : 1. catch (FileNotFoundException e) { 2. System.out.println("File "+namaFile+" tidak dapat dicreate"); 3. } 4. catch (IOException e) { 5. System.out.println("Terjadi Exception"); 6. } 7. finally { 8. if (fout!=null) { 9. try { 10. fout.close(); 11. } 12. catch (IOException e) { 13. System.out.println("Terjadi Exception"); 14. } 15. } 16. } 17. } 18. }


Download ppt "Java Progamming Operasi I/O Disampaikan pada mata kuliah Object Oriented Programming."

Presentasi serupa


Iklan oleh Google