Kamis, 23 Mei 2013

Resume Materi Kelas Esensial



Nama : Mulkiah
NIM : H11112005
Hari Praktikum : Jum'at 17 April 2013 Pukul 16.00



Resume Materi Kelas Esensial :
Sebuah stream adalah abstraksi dari sebuah file atau sebuah perangkat yang mengijinkan beberapa set item untuk dibaca atau ditulisi. Streams terhubung dengan physical devices seperti keyboards, consoles dan files. Terdapat dua bentuk umum dari streams, byte streams dan character streams. Byte streams digunakan pada data biner, sedangkan character streams digunakan pada karakter Unicode. System.in dan System.out adalah dua contoh dari byte streams yang digunakan dalam Java. Contoh pertama mereferensikan pada keyboard, kemudian contoh kedua mereferensikan pada console.

Tipe-Tipe Stream yang Umum Digunakan :
1.      Stream byte adalah abstraksi file atau alat untuk data biner sedangkan
2.      Stream karakter adalah untuk karakter Unicode.

Kelas – kelas pada Java IO :
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.
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).
Class File :
Walaupun class File bukan merupakan class stream, tetapi class-class stream merupakan file-file yang telah dimanipulasi. Class adalah sebuah perwakilan dari abstraksi dari file-file nyata dan nama path direktori.
Class File menyediakan beberapa method untuk memanipulasi file dan direktori.




Membaca sebuah File
Untuk membaca sebuah file, dapat menggunakan class FileInputStream. Berikut ini adalah salah satu constructor dari class tersebut :
FileInputStream(String filename)
Constructor tersebut membuat sebuah koneksi terhadap file dimana nama dari file tersebut ditunjukkan sebagai sebuah argument. Exception berupa FileNotFoundException akan muncul jika file tidak ditemukan atau tidak dapat dibuka dan kemudian dibaca.
Setelah membuat sebuah input stream, Anda kemudian dapat menggunakannya untuk membaca sebuah file dengan menggunakan method read. Method read  menghasilkan sebuah nilai integer, dan akan menunjukkan nilai 1 jika telah mencapai batas akhir file.


Menulis sebuah file
Untuk menuliskan sebuah file, Anda dapat menggunakan class FileOutputStream. Berikut ini salah satu constructor yang dapat Anda gunakan.
FileOutputStream(String filename)
Contructor tersebut menyediakan jalur output stream terhadap sebuah file yang akan ditulisi. Sebuah Exception berupa FileNotFoundException akan muncul jika file yang dimaksud tidak dapat dibuka untuk ditulisi.
Jika output stream telah dibuat, Anda dapat menggunakannya untuk menulisi file yang dituju menggunakan method write. Method tersebut menggunakan penandaan sebagai berikut :
void write(int b)
Parameter b mereferensikan data yang akan dituliskan pada file sesuai dengan hasil output stream.







Berikut Contoh  Program :
Menghapus Directory :
package OOPS;
import java.io.*;
public class DeleteDir {
private static final String SRC_FOLDER = "index";
public void deleteDir(){
      File directory = new File (SRC_FOLDER);
      try{
            delete(directory);

      }catch (IOException e){
            e.printStackTrace();
            System.exit(0);

      }
      System.out.println("Done");

}

public static void delete (File file) throws IOException{
if (file.isDirectory()){
      if (file.list().length==0){
            file.delete();
            System.out.println("Directory is deleted");}
      else{
            String files [] = file.list();
            for (String temp : files){
                  File fileDelete = new File (file,temp);
                  delete(fileDelete);

            }
            if (file.list().length ==0){ // untuk mengatur panjang/ besar
                  file.delete();
                  System.out.println("Directory is deleted :" + file.getAbsolutePath());

            }
            else{
                  file.delete();
                  System.out.println("File is deleted :" + file.getAbsolutePath());
            }
      }
}
}
}

Membaca File
package OOPS;
import java.io.*;
public class bacafile {

      /**
       * @param args
       */
      public static void main(String[] args) {

            FileInputStream finput = null;
            int data;

            // membuka file
            try {
                  finput = new FileInputStream("F:/RESPON.txt");
                  System.out.println((char)65);
            }
            catch(FileNotFoundException fnfe){
                  System.out.println("Data Tidak Ditemukan");
                  return; // keluar method membuka file

            }
            // membaca file
            //kemudian menampilkannya ke dalam console
            try{
                  while ((data = finput.read()) != -1){
                              // kemudian setelah kita mengkonversinya maka akan dikonversi lagi ke bentuk char
                        System.out.print((char) data);

                  }

            }catch (IOException ioe){
                  System.out.println(ioe.getMessage());
                  return; // keluar method baca file
            }
            // tutup file
            try {
                  finput.close();
            }
            catch(IOException ioe){
            }
      }

}


Mencopy File (text) ke File baru (text)
package OOPS;
import java.io.*;
public class copyfile {
      public static void main (String [] args){

      FileInputStream finput = null;
      FileOutputStream foutput = null;
      int data;

      // membuka file
      try {
            finput = new FileInputStream("F:/RESPON.txt");
      }
      catch(FileNotFoundException fnfe){
            System.out.println("Data Tidak Ditemukan");
            return; // keluar method membuka file
      }
            // membuka file penginputan
            try{
      foutput = new FileOutputStream("F:/RESPON-Copy.txt");

}
            catch (FileNotFoundException fnfe){
      System.out.println("Tidak Ditemukan data Copynya");
      return;
}
      // membaca file dari file inputan
      // dan memasukkannya kedalam file ouytput di drive E:RESPON-copy


 try {
       while ((data = finput.read()) != -1){
             foutput.write(data);
       }}
catch (IOException ioe){
      System.out.println(ioe.getMessage());
}
      //menutup file
      try {
            finput.close();
      foutput.close();
      }
      catch(IOException ioe){


}

       }


}