I/O Stream lanjutan.

Slides:



Advertisements
Presentasi serupa
EXCEPTION HANDLING.
Advertisements

Mendapatkan Input dari Keyboard
Java Fundamentals: 5. Java Advanced
Try, Catch, Finally Throws
Menempatkan Pointer Q 6.3 & 7.3 NESTED LOOP.
Input dan Output.
Malang,22 November 2012
Pemrograman JAVA (TIB09)
Java Progamming Operasi I/O
Pemrograman Berorientasi Objek
LINKED LIST.
Abstract Class & Interface
Modul 6: Abstract Class, abstract method
Workshop SCS: Java Game Programming
Luas Daerah ( Integral ).
CSE1301 Sem /8/2017 File I/O Lecture 19: File I/O.
Struktur Data & Algoritma Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) ‏ 1 Fasilkom UI SUR – HMM – AAFasilkom UI - IKI20100/ IKI80110P.
Modul 1- Review Java.
KONTROL ALUR EKSEKUSI PROGRAM
SLIDE OTOMATIS PINDAH DALAM WAKTU 4-5 MENIT. A:kiriB:kanan Deklarasikan sebuah variabel dengan nama ‘isi’ yang mempunyai type array of double dengan ukuran.
Inheritance Ery Setiyawan Jullev A.
Pertemuan 8 Pemrograman Berbasis Obyek Oleh Tita Karlita
MATA KULIAH : PEMROGRAMAN 3 JAVA PROGRAMMING (JSE)
Pemrograman Berorientasi Obyek Oleh Idris Winarno
Thread.
Encapsulation, Inheritance, polymorphism, dan interface
Pemrograman Berorientasi Objek 1
Mendapatkan input dari keyboard
Mendapatkan Input dari Keyboard
Struktur Kode Aplikasi Java (1)
INHERITANCE, POLYMORPHISM, DAN INTERFACE
Pewarisan, Polimorfisme, dan Interface
Pertemuan : Object Oriented Programming
Pengembang aplikasi memiliki kemampuan untuk memperbaiki beberapa parameter TCP, seperti buffer dan maksimum ukuran segmen maksimum Socket Programming.
Struktur Data List Linear : Linked List (Single Linkedlist)
Inheritance, polymorphism, dan interface
Dasar I/O Oleh: Mike Yuliana Politeknik Elektronika Negeri Surabaya.
- PERTEMUAN 8- NETWORK PBO. Pengantar Java mengijinkan anda untuk mempermudah mengembangkan aplikasi yang mengerjakan berbagai pekerjaan melalui jaringan.
Struktur kontrol.
STREAM.
File Matakuliah: XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan: 9 Tahun: 2008 Versi: 1/0.
Try, Catch, Finally Throws
Pertemuan 6 PEWARISAN AND POLYMORPHISM
Bahasa Pemrograman Operasi File Oleh: Chaerul Anwar, MTI.
I/O Streams Pemrograman Berorientasi Obyek Oleh Idris Winarno.
Input/output dan Kelas File
File Stream.
Fakultas Ilmu Komputer Informatika Universitas Bina Darma
JAVA ARRAY.
Aplikasi berbasis teks
Pertemuan 2 SINTAKS BAHASA, TIPE DATA, DAN OPERATOR
Java array.
Input/output dan Kelas File
INPUT DATA, PERCABANGAN & PERULANGAN DENGAN JAVA
Pengaksesan File Disusun Oleh: Reza Budiawan Untuk:
Java array.
PEMROGRAMAN BERBASIS JARINGAN
Java array.
Identifier, Keyword, dan Tipe data
Tipe Data, Variabel, dan Operator
Tipe Data, Variabel, dan Operator
Matakuliah : M0074/PROGRAMMING II Tahun : 2005 Versi : 1/0
Java array.
Aplikasi Berbasis Teks
Dasar Bahasa Java.
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Java array.
Tipe Data, Variabel, dan Operator
Java array.
Streams & Files 1. Streams (data moving into and out of a program) and files are supported by the java.io package. 2. InputStream & OutputStream are.
Transcript presentasi:

I/O Stream lanjutan

Topik Stream Karakter dan Byte Stream Input dan Output Jenis Stream yang umum Stream Karakter dan Byte Stream Input dan Output Stream Node dan Filter Class-class File Class-class Reader Method-method Reader Class-class Node Reader Class-class Filter Reader

Topik Method Writer Class-class Node Writer Class-class Filter Writer Class-class Writer Method Writer Class-class Node Writer Class-class Filter Writer Class-class InputStream Method-method InputStream Class-class Node InputStream Class-class Filter InputStream

Topik Method method OutputStream Class-class Node OutputStream Class-class OutputStream Method method OutputStream Class-class Node OutputStream Class-class Filter OutputStream Serialisasi Kata kunci transient Serialisasi: Menulis sebuah Stream Object Deserialisasi: Membaca sebuah stream object

Jenis stream yang umum Stream Keadaan dari sebuah file atau sebuah device yang memungkinkan rangkaian item dapat dibaca atau ditulis Kategori-kategori Stream yang umum Stream Character dan Byte Stream Input dan Output Stream Node dan Filter

Stream Karakter dan Byte Keadaan File atau device untuk karakter Unicode Superclass dari semua class-class untuk stream karakter : Class Reader Class Writer Kedua class tersebut adalah abstract Stream Byte Untuk data biner Class-class root untuk stream byte : Class InputStream ClassOutputStream

Stream Input dan Output Input atau stream sumber Dari stream ini dapat membaca Superclass dari semua input streams: class InputStream class Reader Output Kita dapat menulis pada stream ini Class root dari stream ini: Class OutputStream Class Writer

Stream Node dan Filter Stream Node Terdiri atas fungsi dasar dari membaca atau menulis dari sebuah lokasi tertentu. Pada jenis stream node termasuk didalamnya file, memory, dan saluran data Stream Filter Di masukkan ke lapisan stream node antara thread atau proses Untuk fungsi-fungsi tambahan Menambahkan layer pada sebuah stream node yang disebut dengan stream chaining

Class File Bukan merupakan sebuah class stream Penting karena class-class stream memanipulasi object File Representasi abstract dari file-file aktual dan directory pathnames

Class File : Konstruktor Memiliki 4 konstruktor

Class File : Method

Class File : Method

Contoh Class File import java.io.*; public class FileInfoClass { public static void main(String args[]) { String fileName = args[0]; File fn = new File(fileName); System.out.println("Name: " + fn.getName()); if (!fn.exists()) { System.out.println(fileName + " does not exists."); //bersambung...

Contoh Class File /* Membuat sebuah directory sementara */ System.out.println("Creating temp directory..."); fileName = "temp"; fn = new File(fileName); fn.mkdir(); System.out.println(fileName + (fn.exists()? "exists": "does not exist")); System.out.println("Deleting temp directory..."); fn.delete(); //bersambung...

Contoh Class File System.out.println(fileName + (fn.exists()? "exists": "does not exist")); return; } //end of: if (!fn.exists()) System.out.println(fileName + " is a " + (fn.isFile()? "file." :"directory.")); if (fn.isDirectory()) { String content[] = fn.list(); System.out.println("The content of this directory:"); //bersambung...

Contoh class File for (int i = 0; i < content.length; i++) { System.out.println(content[i]); } } //end of: if (fn.isDirectory()) if (!fn.canRead()) { System.out.println(fileName + " is not readable."); return; //bersambung...

Contoh Class File System.out.println(fileName + " is " + fn.length() + " bytes long."); System.out.println(fileName + " is " + fn.lastModified() + " bytes long."); if (!fn.canWrite()) { System.out.println(fileName + " is not writable."); }

Method Class Reader

Method Class reader

Class-class Node reader

Class Filter Reader

Method dari Class Writer

Class Node Writer

Class Filter Writer

Contoh Dasar Reader/Writer import java.io.*; class CopyFile { void copy(String input, String output) { FileReader reader; FileWriter writer; int data; try { reader = new FileReader(input); writer = new FileWriter(output); //berlanjut...

Contoh Dasar Reader/Writer while ((data = reader.read()) != -1) { writer.write(data); } reader.close(); writer.close(); } catch (IOException ie) { ie.printStackTrace(); //berlanjut...

Contoh Dasar Reader/Writer public static void main(String args[]) { String inputFile = args[0]; String outputFile = args[1]; CopyFile cf = new CopyFile(); cf.copy(inputFile, outputFile); }

Contoh Reader/Writer Lanjut import java.io.*; class CopyFile { void copy(String input, String output) { BufferedReader reader; BufferedWriter writer; String data; try { reader = new BufferedReader(new FileReader(input)); writer = new BufferedWriter(new FileWriter(output)); //berlanjut...

Contoh Reader/Writer Lanjut while ((data = reader.readLine()) != null) { writer.write(data, 0, data.length); } reader.close(); writer.close(); } catch (IOException ie) { ie.printStackTrace(); //berlanjut...

Contoh Reader/Writer Lanjut public static void main(String args[]) { String inputFile = args[0]; String outputFile = args[1]; CopyFile cf = new CopyFile(); cf.copy(inputFile, outputFile); }

Method Class InputStream

Method Class InputStream

Method Class InputStream

Class Filter InputStream

Method Class OutputStream

Inti Class OutputStream

Class Filter OutputStream

Contoh Dasar InputStream / OutputStream import java.io.*; class CopyFile { void copy(String input, String output) { FileInputStream inputStr; FileOutputStream outputStr; int data; try { inputStr = new FileInputStream(input); outputStr = new FileOutputStream(output); //Selanjutnya...

Contoh Dasar InputStream / OutputStream while ((data = inputStr.read()) != -1) { outputStr.write(data); } inputStr.close(); outputStr.close(); } catch (IOException ie) { ie.printStackTrace(); //selanjutnya...

Contoh Dasar InputStream / OutputStream public static void main(String args[]) { String inputFile = args[0]; String outputFile = args[1]; CopyFile cf = new CopyFile(); cf.copy(inputFile, outputFile); }

Contoh Modifikasi InputStream / OutputStream import java.io.*; class CopyFile { void copy(String input) { PushbackInputStream inputStr; PrintStream outputStr; int data; try { inputStr = new PushbackInputStream(new FileInputStream(input)); outputStr = new PrintStream(System.out); //continued...

Contoh Modifikasi InputStream/ OutputStream while ((data = inputStr.read()) != -1) { outputStr.println("read data: " + (char) data); inputStr.unread(data); data = inputStr.read(); outputStr.println("unread data: " + } inputStr.close(); outputStr.close(); //continued...

Contoh Modifikasi InputStream/ OutputStream } catch (IOException ie) { ie.printStackTrace(); } public static void main(String args[]) { String inputFile = args[0]; CopyFile cf = new CopyFile(); cf.copy(inputFile);

Serialization Definisi : Menulis sebuah Object Persistence Didukung oleh Java Virtual Machine (JVM) Memiliki kemampuan untuk menulis dan membaca object ke stream Merupakan sebuah proses untuk menyederhanakan object Tujuan: Untuk menyimpan sebuah object kedalam sebuah penyimpanan permanent untuk memparsing ke object yang lain melalui class OutputStream Menulis sebuah Object Keadaan tersebut haruslah dituliskan dalam sebuah serialized form sehingga object yang telah dibangun dapat dibaca Persistence Menyimpan sebuah object kedalam sebuah tempat penyimpanan permanent

Serialization Streams untuk serialization ObjectInputStream Untuk deserializing ObjectOutputStream Untuk serializing Untuk memperbolehkan sebuah object untuk di-serialize : Class tersebut harus meng-implement interface Serializable Class tersebut harus menyediakan sebuah default constructor tanpa argument Kemampuan serialize diwariskan Tidak perlu untuk meng-implement Serializable untuk tiap class Bisa meng-implement Serializable sepanjang masih dalam hierarki class

Object Non-Serializable Pada saat object di-serialize Hanya disediakan object dari data tersebut Method dan constructor bukan merupakan bagian dari serialized stream Beberapa data tidak di-serialize Karena representasi dari data berubah secara konstan Contoh: FileInputStream objects Thread objects Sebuah NotSerializableException akan dilempar apabila terjadi kesalahan dalam serialization

Keyword transient Sebuah class yang terdiri dari non-serializable object bisa di-serialize Reference kepada non-serializable object akan ditandai dengan sebuah keyword transient Contoh: class MyClass implements Serializable { transient Thread thread; //try removing transient int data; /* some other data */ } Keyword transient keyword mencegah data untuk di-serialize

Serialization: Membuat Object Stream Gunakan class ObjectOutputStream Gunakan method writeObject public final void writeObject(Object obj) throws IOException dimana, obj adalah object yang akan ditulis kedalam Stream

Serialization: Menulis Object Stream import java.io.*; public class SerializeBoolean { SerializeBoolean() { Boolean booleanData = new Boolean("true"); try { FileOutputStream fos = new FileOutputStream("boolean.ser"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(booleanData); oos.close(); //continued...

Serialization: Menulis Object Stream } catch (IOException ie) { ie.printStackTrace(); } public static void main(String args[]) { SerializeBoolean sb = new SerializeBoolean();

Deserialization: Membaca Object Stream Gunakan class ObjectInputStream Gunakan method readObject public final Object readObject() throws IOException, ClassNotFoundException dimana, obj adalah object yang akan dibaca dari Stream Tipe Object yang akan dikembalikan harus di typecase ke class name yang ditunjuk sebelum method dalam class tersebut dapat dieksekusi.

Deserialization: Membaca Object Stream import java.io.*; public class UnserializeBoolean { UnserializeBoolean() { Boolean booleanData = null; try { FileInputStream fis = new FileInputStream("boolean.ser"); ObjectInputStream ois = new ObjectInputStream(fis); booleanData = (Boolean) ois.readObject(); ois.close(); //continued...

Deserialization: Membaca Object Stream } catch (Exception e) { e.printStackTrace(); } System.out.println("Unserialized Boolean from " + "boolean.ser"); System.out.println("Boolean data: " + booleanData); System.out.println("Compare data with true: " + booleanData.equals(new Boolean("true"))); //continued...

Deserialization: Membaca Object Stream public static void main(String args[]) { UnserializeBoolean usb = new UnserializeBoolean(); }

Kesimpulan Jenis Stream secara Umum Stream Character dan Byte Stream Input dan Output Stream Node dan Filter Class File Constructor File(String pathname) Method

Kesimpulan Class Reader Method read, close, mark, markSupported, reset Class Node Reader FileReader, CharArrayReader, StringReader, PipedReader Class Filter Reader BufferedReader, FilterReader, InputStreamReader, LineNumberReader, PushbackReader

Kesimpulan Class Writer Method write, close, flush Class Node Writer FileWriter, CharArrayWriter, StringWriter, PipedWriter Class Filter Writer BufferedWriter, FilterWriter, OutputStreamWriter, PrintWriter

Kesimpulan Class InputStream Method read, close, mark, markSupported, reset Class Node InputStream FileInputStream, BufferedArrayInputStream, PipedInputStream Class Filter InputStream BufferedInputStream, FilterInputStream, ObjectInputStream, DataInputStream, LineNumberInputStream, PushbackInputStream

Kesimpulan Class OutputStream Methods write, close, flush Class Node OutputStream FileOutputStream, BufferedArrayOutputStream, PipedOutputStream Class Filter OutputStream BufferedOutputStream, FilterOutputStream, ObjectOutputStream, DataOutputStream, PrintStream

Kesimpulan Serialization Definisi Keyword transient Serialization: Menulis sebuah Object Stream Gunakan class ObjectOutputStream Gunakan method writeObject Deserialization: Membaca sebuah Object Stream Gunakan class ObjectInputStream Gunakan method readObject