Materi kuliah I/O & FILE Ir. Roedi Goernida, MT. (roedig@yahoo.com) Program Studi Sistem Informasi Fakultas Rekayasa Industri Institut Teknologi Telkom Bandung 2011 1 Pengertian Masukan / Keluaran Dalam Java, Masukan (Input) / Keluaran (Output) atau I/O merupakan interaksi suatu program agar dapat berhubungan atau berkomunikasi dengan beragam I/O dari pelbagai perangkat. Proses I/O proses pembacaan atau penulisan data dalam suatu file. Representasi dari suatu aliran untuk memodelkan perangkat I/O STREAM: Byte Stream aliran untuk data mesin Character stream aliran data yang dibaca oleh manusia. Stream tidak digunakan dalam GUI. Hand-out: I/O & File IS1313-07 Hal. 1 2
Pengertian Masukan / Keluaran Pada Java java.io: System.in & System.out yang merupakan aliran byte Kelas dasar I/O: Reader, Writer, InputStream, Output Stream. Reader / Writer membaca / menulis data karakter yang bisa dimengerti oleh manusia InputStream, Output Stream membaca / menulis data bit/binary yang bisa dimengerti oleh komputer. Method: - Reader & InputStream read() dan close() - Writer & OutputStream write(). Hand-out: I/O & File IS1313-07 Hal.2 3 Pengertian Masukan / Keluaran Subclass: InputStream AudioInputStream, ByteArrayInputStream, FileInputStream, FilterInputStream, PipedInputStream, SequenceInputStream, StringBufferInputStream. OutputStram ByteArrayOutputStream, FileOutputStream, FilterOutputStream, ObjectOutputStream, PipedOutputStream Hand-out: I/O & File IS1313-07 Hal. 3 4
Pengertian Masukan / Keluaran Class Fungsi ByteArrayInputStream Menggunakan buffer pada memori sebagai aliran input StringBufferInputStream Mengubah string menjadi InputStream FileInputStream PipedInputStream SequenceInputStream FilterInputStream Untuk membaca informasi dari dalam file Menghasilkan data yang ditulis oleh PipedOutputStream. Menggabungkan dua atau lebih InputStreammenjadi satu InputStream merupakan interface dari beberapa kelas bantu untuk menggunakan InputStream lain Hand-out: I/O & File IS1313-07 Hal. 4 5 Contoh-contoh (1) //import java.io.ioexception; class BuatFile1 { public static void main(string[] args) throws IOException { File f = new File("d:/JavaOutput/File1.txt"); f.createnewfile(); System.out.println("Create file '" + f.getname() + "' berhasil"+" pada direktori "+f.getparent()); Hand-out: I/O & File IS1313-07 Hal 3. 6
Contoh-contoh (2) class BuatDirektori1 { File f = new File("d:\\JavaOutput"); f.mkdirs(); System.out.println("Create direktori '" + f + "' berhasil"); Hand-out: I/O & File IS1313-07 Hal. 6 7 Contoh-contoh (3) class UbahFile1 { File f = new File("d:/JavaOutput/File1.txt"); f.renameto(new File("d:/JavaOutput/File2.txt")); System.out.println("Ubah file '" + f + "' berhasil"); class UbahFile1 { File f = new File("d:\\JavaOutput/File1.txt"); f.renameto(new File("d:\\JavaOutput/File2.txt")); System.out.println("Ubah file '" + f.getname() + "' berhasil"); Hand-out: I/O & File IS1313-07 Hal. 7 8
Contoh-contoh (4) class BuatFile2 { FileOutputStream foutput = null; String data = "Prodi Sistem Informasi \nfakultas Teknik Industri " + "\ninstitut Teknologi TELKOM"; foutput = new FileOutputStream("d:\\JavaOutput/File1.txt"); catch (FileNotFoundException fnfe) { System.out.println(">>> File gagal terbentuk <<<."); for (int i=0; i<data.length(); i++) { foutput.write((int) data.charat(i)); catch (IOException ioe) { System.out.println(ioe.getMessage()); foutput.close(); catch (IOException ioe) { 9 Hand-out: I/O & File IS1313-07 Hal. 8 Contoh-contoh (5) class BacaIsiFile1 { FileInputStream finput = null; int data; finput = new FileInputStream("d:\\JavaOutput/File1.txt"); catch (FileNotFoundException fnfe) { System.out.println("File tidak ditemukan."); while ((data = finput.read())!= -1) { System.out.print((char) data); catch (IOException ioe) { System.out.println(ioe.getMessage()); finput.close(); catch (IOException ioe) { Hand-out: I/O & File IS1313-07 Hal. 9 10
Contoh-contoh (6) import java.io.file; import java.io.ioexception; import java.util.date; class InfoFile1 { public static void write(string str) { System.out.println(str); public static void main(string[] args) throws IOException { File f = new File("d:\\JavaOutput/File2.txt"); write("nama file: " + f.getname()); write("path: " + f.getpath()); write("letak file pada direktori: " + f.getparent()); write(f.getname() + (f.exists()? " ada" : " tidak ada")); write(f.getname() + (f.isfile()? " adalah file" : " bukan file")); write(f.getname() + (f.isdirectory()? " adalah direktori":" bukan direktori")); write(f.getname() + (f.canwrite()? " dapat ditulis" : " tidak dapat ditulis")); write(f.getname() + (f.canread()? " dapat dibaca" : " tidak dapat dibaca")); write(f.getparent() + (f.isdirectory()? " adalah direktori" : " bukan direktori")); Date tanggal = new Date(); tanggal.settime(f.lastmodified()); write("tanggal terakhir dimodifikasi: " + tanggal); write("ukuran file: " + f.length() + " byte"); Hand-out: I/O & File IS1313-07 Hal. 10 11 Selesai 12