i o stream lanjutan n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
I/O Stream lanjutan PowerPoint Presentation
Download Presentation
I/O Stream lanjutan

Loading in 2 Seconds...

play fullscreen
1 / 60

I/O Stream lanjutan - PowerPoint PPT Presentation


  • 132 Views
  • Updated on

I/O Stream lanjutan. Topik. 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. Class-class Writer Method Writer

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

I/O Stream lanjutan


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
    Presentation Transcript
    1. I/O Stream lanjutan

    2. Topik 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

    3. Topik 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

    4. Topik 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

    5. 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

    6. Stream Karakter dan Byte Stream Karakter 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 Kedua class tersebut adalah abstract

    7. 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: ClassOutputStream ClassWriter

    8. 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

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

    10. Class File : Konstruktor Memiliki 4 konstruktor

    11. Class File : Method

    12. Class File : Method

    13. 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...

    14. 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...

    15. 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...

    16. 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...

    17. 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."); • } • } • }

    18. Method Class Reader

    19. Method Class reader

    20. Class-class Node reader

    21. Class Filter Reader

    22. Method dari Class Writer

    23. Class Node Writer

    24. Class Filter Writer

    25. 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...

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

    27. 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); } }

    28. 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...

    29. 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...

    30. 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); } }

    31. Method Class InputStream

    32. Method Class InputStream

    33. Method Class InputStream

    34. Class Filter InputStream

    35. Method Class OutputStream

    36. Inti Class OutputStream

    37. Class Filter OutputStream

    38. 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...

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

    40. 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); } }

    41. 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...

    42. 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: " + (char) data); } inputStr.close(); outputStr.close(); //continued...

    43. 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); } }

    44. Serialization • Definisi : • 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

    45. 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

    46. 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

    47. 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

    48. 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

    49. 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...

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