Fakultas Ilmu Komputer Informatika Universitas Bina Darma

Slides:



Advertisements
Presentasi serupa
Mendapatkan Input dari Keyboard
Advertisements

Mendapatkan Input dari Keyboard
Try, Catch, Finally Throws
Input dan Output.
Pemrograman JAVA (TIB09)
Java Progamming Operasi I/O
Pemrograman Berorientasi Objek
Workshop SCS: Java Game Programming
Flow Control & Exception Handling
Pemrograman Berbasis Obyek Oleh Tita Karlita
MATA KULIAH : PEMROGRAMAN 3 JAVA PROGRAMMING (JSE)
Pemrograman Berorientasi Obyek Oleh Idris Winarno
I/O Stream lanjutan.
Mendapatkan input dari keyboard
Mendapatkan Input dari Keyboard
Operasi File Oleh: Idris Winarno.
Struktur Kode Aplikasi Java (1)
- PERTEMUAN 4 - PERULANGAN
PELATIHAN JAVA FUNDAMENTAL
Algoritma & Pemrograman 1
Struktur Data List Linear : Linked List (Single Linkedlist)
Public class RelasiDemo { public static void main(String[] args) { //beberapa nilai int i = 37; int j = 42; int k = 42; System.out.println("Nilai variabel...");
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.
PERTEMUAN 4 STREAM.
File Matakuliah: XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan: 9 Tahun: 2008 Versi: 1/0.
Try, Catch, Finally Throws
Mendapatkan input dari keyboard
Bahasa Pemrograman Operasi File Oleh: Chaerul Anwar, MTI.
Jaringan.
I/O Streams Pemrograman Berorientasi Obyek Oleh Idris Winarno.
Input/output dan Kelas File
File Stream.
Pengantar Struktur Data Pertemuan 1 Season 1
Pemrograman Visual I Outline: File Namespace io File teks
Access Modifier.
POLYMORPHISM (KEBANYAKRUPAAN)
MENDAPATKAN INPUT DARI KEYBOARD.
Aplikasi berbasis teks
Pertemuan 2 SINTAKS BAHASA, TIPE DATA, DAN OPERATOR
DASAR DASAR JAVA Dengan Netbans PBO Java.
POLYMORPHISM (KEBANYAKRUPAAN)
Input/output dan Kelas File
Mendapatkan Input dari Keyboard
INPUT DATA, PERCABANGAN & PERULANGAN DENGAN JAVA
Pengaksesan File Disusun Oleh: Reza Budiawan Untuk:
Algoritma & Pemrograman 3
Algoritma & Pemrograman 1
Mendapatkan input dari keyboard
MEMBUAT CLASS SENDIRI 2.
Tipe Data, Variabel, dan Operator
Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator
Tipe Data, Variabel, dan Operator
Matakuliah : M0074/PROGRAMMING II Tahun : 2005 Versi : 1/0
Aplikasi Berbasis Teks
Dasar Bahasa Java.
PEMROGRAMAN BERORIENTASI OBYEK PENDAHULUAN
INPUT DATA DI JAVA.
PEMROGRAMAN JAVA.
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Mendapatkan input dari keyboard
Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator
Tipe Data, Variabel, dan Operator
Pemrograman Berorientasi Objek
Mendapatkan Input dari Keyboard
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.
DPH1C4 Pemrograman berorientasi Obyek
FONDASI PEMROGRAMAN & STRUKTUR DATA #3 - 4
Transcript presentasi:

Fakultas Ilmu Komputer Informatika Universitas Bina Darma File dalam Java Fakultas Ilmu Komputer Informatika Universitas Bina Darma Imam Solikin, M.Kom

Tipe-Tipe Stream yang Umum Digunakan Stream Karakter dan Byte Input dan Output Stream Node dan Stream Filter

Stream Karakter dan Byte Stream byte adalah abstraksi file atau alat untuk data biner Sedangkan stream karakter adalah untuk karakter Unicode.

Stream Karakter dan Byte (1) Class InputStream adalah abstraksi class root untuk semua input stream byte sedangkan class OutputStream adalah class root abstraksi dari semua output stream byte. Untuk stream karakter, superclasss yang sesuai dari semua class-class secara berturut-turut adalah class Reader dan the Writer. Kedua class-class ini adalah abstraksi class-class untuk membaca dan menulis stream karakter.

Input dan Output Stream Stream juga dikategorikan berdasarkan apakah mereka digunakan untuk membaca atau menulis stream. Anda diijinkan untuk membaca dari input stream tapi tidak menulisnya. Di lain pihak, Anda diijinkan untuk menulis output streams tapi tidak membacanya. Class InputStream dan class Reader adalah superclass-superclass dari semua input stream. Class OutputStream dan class Writer adalah class-class root dari semua output stream. Input stream juga dikenal sebagai stream sumber (source stream) sejak kita memperoleh informasi dari stream ini. sementara itu output stream disebut juga stream hasil(sink stream).

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.

Node dan Stream Filter Kini package java.io membedakan antara node dan stream filter. Sebuah stream node adalah sebuah stream dengan fungsi dasar berupa fungsi membaca atau menulis dari sebuah lokasi khusus seperti pada disk atau dari jaringan.

Tipe-tipe dari stream node terdiri atas file, memory dan jalur data. Stream filter, di lain pihak, diletakkan pada layer stream node diantara threads atau proses untuk menyediakan fungsi tambahan yang tidak dapat ditemukan dalam stream node oleh stream node itu sendiri. Penambahan lapisan pada sebuah stream node disebut dengan stream chaining.

Class File Walaupun class File bukan merupakan class stream, ini sesuatu yang penting bahwa kita mempelajari ini sejak class- class stream merupakan file-file yang telah dimanipulasi. Class adalah sebuah perwakilan dari abstraksi dari file-file nyata dan nama path direktori.

Mari kita melihat bagaimana method ini bekerja Deklarasi variabel namanya fileName tipenya string 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.");   /* membuat sebuah temporary directory . */ Diisi alamat dari letak filenya misal “C:/PBOL/latihan.txt”. Instantiasi Obyek File namanya fn dengan parameter fileName Untuk mengetahui nama filenya

System. out. println("Creating temp directory System.out.println("Creating temp directory..."); fileName = "temp"; fn = new File(fileName); fn.mkdir();//membuat file baru System.out.println(fileName + (fn.exists()? "exists": "does not exist")); System.out.println("Deleting temp directory..."); fn.delete(); return; } Apakah fn exist/ada??? Jika true = cetak exist Jika false = cetak does not exist

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:"); for (int i = 0; i < content.length; i++) { System.out.println(content[i]); } if (!fn.canRead()) { Mengecek apakah fn berupa file atau bukan Jika true = cetak file Jika false = cetak directory Untuk mencetak isi dari directory tersebut

System.out.println(fileName + " is not readable."); return; } 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.");

Class Reader

Class Node Reader

Class-Class Filter Reader

Class-Class Writer Writer Method Node Writer Classes

Writer Method

Node Writer Classes

Filter Writer Classes Untuk menambah fungsionalitas ke dasar class Writer, Anda dapat menggunakan class stream filter

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); while ((data = reader.read()) != -1) {writer.write(data);} reader.close(); writer.close(); } catch (IOException ie) { ie.printStackTrace(); } CONTOH 1.2

public static void main(String args[]) { String inputFile = args[0]; String outputFile = args[1]; CopyFile cf = new CopyFile(); cf.copy(inputFile, outputFile); } Diisi alamat dari letak filenya misal “C:/PBOL/latihan.txt”.

Dalam contoh ini, program membaca dari file yang khusus oleh user dan mengkopi isi dari file ke file lain. Cobalah program tersebut sendiri dan amatilah apa yang terjadi pada file yang dimanipulasi.

Merubah Contoh Reader/Writer Contoh pengganti yang bisa dilihat pada Kode 1.3 hampir sama dengan contoh sebelumnya pada Kode 1.2 tetapi lebih efisien. Walaupun membaca dan menulis ke stream sekali saja, karakter membaca yang pertama disimpan dalam buffer sebelum penulisan karakter baris per baris. Program menggunakan teknik dari perangkaian stream dimana clas FileReader dan FileWriter didekorasi dengan class BufferedReader dan BufferedWriter, berurutan.

CONTOH 1.3 import java.io.*; class CopyFile {   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)); while ((data = reader.readLine()) != null) { writer.write(data, 0, data.length()); } reader.close(); writer.close(); } catch (IOException ie) { ie.printStackTrace(); CONTOH 1.3

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

Class InputStream Method InputStream Class-Class Node InputStream Class-class Filter InputStream

Method InputStream Class InputStream terdiri atas beberapa method untuk membaca byte

Class-Class Node InputStream

Class-class Filter InputStream

Class-Class OutputStream Bagian ini memberikan sebuah pandangan tentang byte stream yang berbeda yang digunakan dalam proses penulisan. Method OutputStream Class-Class Node OutputStream Class-Class Filter OutputStream

Method OutputStream Class OutputStream terdiri atas beberapa method untuk menulis data byte

Class-Class Node OutputStream

Class-Class Filter OutputStream Untuk menambah fungsi ke class dasar OutputStream, Anda dapat menggunakan class stream filter

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); while ((data = inputStr.read()) != -1) { outputStr.write(data); } CONTOH 1.4

} catch (IOException ie) { ie.printStackTrace(); } inputStr.close(); outputStr.close(); } catch (IOException ie) { ie.printStackTrace(); }   public static void main(String args[]) { String inputFile = args[0]; String outputFile = args[1]; CopyFile cf = new CopyFile(); cf.copy(inputFile, outputFile); Diisi alamat dari letak filenya misal “C:/PBOL/latihan.txt”.

Contoh Modifikasi InputStream/OutputStream menggunakan class PushbackInputStream yang memanfaatkan sebuah object FileInputStream dan class PrintStream

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); while ((data = inputStr.read()) != -1) { outputStr.println("read data: " + (char) data); inputStr.unread(data); data = inputStr.read(); outputStr.println("unread data: " + (char) data); } CONTOH 1.5

inputStr.close(); outputStr.close(); } catch (IOException ie) { ie.printStackTrace(); }   public static void main(String args[]) { String inputFile = args[0]; CopyFile cf = new CopyFile(); cf.copy(inputFile);

TAKEHOME

Buat program dengan ketentuan berikut!! Terdapat 4 file txt kosong File 1 dan file 2 terletak dalam direktori yang sama! File 3 dan 4 terletak dalam direktori yang sama, namun berbeda dari file 1 dan 2! Misal : file 1 dan 2 terletak di C:\ File 3 dan 4 terletak di D:\

Output program (dengan inputan jika memilih T) Artinya: data berhasil disimpan ke dalam file1.txt dan 3 file yang lain masih kosong!!

Output program (dengan inputan jika memilih Y) Artinya: data berhasil disimpan ke dalam semua file txt

NIM3..., NAMA3 NIM4…,NAMA4 Kerjakan secara berkelompok Yang di kumpul : 1 project, printscreen output program seperti contoh, jelaskan sejelas mungkin. Project dan file .doc diberi nama PBOL NIM1..., NAMA1 NIM2…,NAMA2 NIM3..., NAMA3 NIM4…,NAMA4