Saturday, November 25, 2017

I/O STREAM Latihan

Latihan 1
Membaca File dengan FileInputStream
·         Program untuk menghitung jumlah bytes yang dibaca dari File.
·         Dibuat obyek dari class FileInputStream
·         Perhatikan bahwa membaca file dapat menyebabkan Exception, karena itu diperlukan adanya penangkapan sinyal exception bila terjadi error.

package iostream;

import java.io.*;

public class BacaFile {

       FileInputStream fin;
       boolean eof;
       public BacaFile() {
              File f = new File("F:\\Pemrograman Jaringan Komputer\\text.txt");
              if(f.exists() && f.isFile()) {
                     System.out.println("OK");
              }else {
                     System.out.println("File Not Found");
                     System.exit(-1);
              }
             
              try {
                     fin = new FileInputStream(f);
                     eof = false;
                     int count = 0;
                     while(!eof) {
                           int input = fin.read();
                           if(input == -1) {
                                  eof = true;
                            }else {
                                  count++;
                           }
                     }
                    
                     fin.close();
                     System.out.println("Jumlah bytes : " +count);
              }catch(IOException ioe) {
                     System.out.println("Ada Error");
              }
             
       }
             
       public static void main(String[] args) {
              // TODO Auto-generated method stub
              new BacaFile();
      
       }

}
Ketika tidak ada file pada direktori




Ketika ada file dalam direktori






Latihan 2
Membaca File dengan FileInputStream
·         Program dengan menggunakan class FileInputStream yang membaca file dengan menggunakan method read() yang membaca karakter per byte.
·         Memanfaatkan class PrintStream untuk menampilkan data yang telah dibaca dari file. data yang telah dibaca dari file.
·         Contoh: System.out. digunakan method println() atau print() untuk menampilkan data.

package iostream;

import java.io.*;

public class BacaPrintStream {
       FileInputStream fin;
      
       public BacaPrintStream() {
              byte dataln[];
              dataln = new byte[1200];
              File f = new File("F:\\Pemrograman Jaringan Komputer\\text.txt");
              if(f.exists() && f.isFile()) {
                     System.out.println("OK");
              }else {
                     System.out.println("File Not Found");
                     System.exit(-1);
              }
              try {
                     int len ;
                     fin = new FileInputStream(f);
                     len = fin.read(dataln, 0, dataln.length);
                     fin.close();
                     String teks = new String(dataln, 0, len);
                     System.out.println(teks);
              }catch(IOException ioe) {
                     System.out.println("Ada Error");
              }
       }

       public static void main(String[] args) {
              // TODO Auto-generated method stub
              new BacaPrintStream();

       }

}
 






Latihan 3
Menulis File dengan FileOutputStream
·         Program untuk menulis File
·         Digunakan method write() untuk menulis file. Perhatikan bahwa method write() menuliskan array of bytes sehingga teks yang akan ditulis array of bytes sehingga teks yang akan ditulis harus dalam betuk array of bytes. Sehingga digunakan method getBytes untuk merubah String ke array of bytes.
 


package iostream;

import java.io.*;

public class TulisFile {
       FileOutputStream fout;
       String teks = "Tulisan ini akan disimpan ke file";
       byte buf[];
      
       public TulisFile() {
              File f = new File("F:\\Pemrograman Jaringan Komputer\\tulis.txt");
              try {
                     fout = new FileOutputStream(f);
                     buf = teks.getBytes();
                     fout.write(buf);
                     fout.flush();
                     fout.close();
                     System.out.println("Teks ini ditulis ke file : " +f.getName());
              }catch(IOException ioe) {
                     System.out.println("Ada Error");
              }
       }

       public static void main(String[] args) {
              // TODO Auto-generated method stub
              new TulisFile();

       }


}










Latihan 4
Membaca File dengan Reader
·         Program untuk membaca File dengan menggunakan reader.
·         Perhatikan bahwa di gunakan method ReadLine() yang membaca file perbaris.
·         Untuk menampilkan isi file, digunakan PrintStream.

package iostream;

import java.io.*;

public class MyReader {
      
       File f;
       FileReader fr;
       BufferedReader fin;
      
       public MyReader() {
              f = new File("F:\\Pemrograman Jaringan Komputer\\text.txt");
              if(f.exists() && f.isFile()) {
                     System.out.println("OK");
              }else {
                     System.out.println("File Not Found");
                     System.exit(-1);
              }
              try {
                     fr = new FileReader(f);
                     fin = new BufferedReader(fr);
              }catch(IOException ioe) {
                     System.out.println("File Gagal dibuka");
              }
       }
      
       public void bacaFilePakeReader() {
              String str= null;
              for( ; ; ) {
                     try {
                           str = fin.readLine();
                     }catch(IOException ioe) {
                           System.out.println("File Gagal dibuka");;
                     }
                    
                     if(str == null) {
                           break;
                     }
              }
              try {
                     fin.close();
              }catch(IOException ioe) {
                    
              }
             

       }

       public static void main(String[] args) {
              // TODO Auto-generated method stub
              new MyReader().bacaFilePakeReader();

       }

}




 






Latihan 5
MenulisFile dengan menggunakan Writer
•Program untuk menulis file dengan menggunakan writer.
•Perhatikan bahwa menulisfile dengan writer adalah menulis file per baris
•Untuk menulis ke file digunakan method println()  milik PrintWriter

package iostream;

import java.io.*;

class MyWriter{
       File f;
       FileWriter fw;
       PrintWriter fout;
             
       public MyWriter() {
              try {
                     f = new File("F:\\Pemrograman Jaringan Komputer\\writer.txt");
                     fw = new FileWriter(f);
                     fout = new PrintWriter(fw);
              }catch(IOException ioe) {
                     System.out.println("File Gagal dibuka");
              }
       }
             
       public void tulisKalimat() {
              String kalimat[] = {
                           "Saya ingin menjadi anak yang pintar",
                           "maka saya harus belajar dengan tekun",
                           "supaya saya dapat nilai yang bagus",
              };
             
              for(int i = 0; i<kalimat.length; i++) {
                     fout.println(kalimat[i]);
              }
             
              fout.flush();
              fout.close();
       }

       public static void main(String[] args) {
              // TODO Auto-generated method stub
              new MyWriter().tulisKalimat();

       }

}








Latihan 6
Membaca dan menulis dengan RandomAccessFile
package iostream;

import java.io.*;

public class InputOutput {

       public static void main(String[] args) throws IOException {
              // TODO Auto-generated method stub
              RandomAccessFile inout = new RandomAccessFile("sory.dat", "rw");
              System.out.println("Pointer is at : " + inout.getFilePointer());
              inout.writeUTF("Spike is a ");
              long pointer = inout.getFilePointer();
              System.out.println("Pointer is now at : " + pointer);
              inout.writeUTF("good dog");
              inout.seek(pointer);
              inout.writeUTF("very good dog ");
              inout.seek(0);
              System.out.println(inout.readUTF() + inout.readUTF());
              inout.close();
       }
}






Latihan 7
Membaca input dari keyboard
package iostream;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


class Aritmatika {

       public static void main(String[] args) {
              // TODO Auto-generated method stub
              int pilihan = -1;
              try {
                     while(true) {
                           System.out.println("Menu aritmatika ke bilangan integer");
                           System.out.println("===================================");
                           System.out.println("1. Penambahan");
                           System.out.println("2. Pengurangan");
                           System.out.println("3. Perkalian");
                           System.out.println("4. Pembagian");
                           System.out.println("5. Modulo");
                           System.out.println("0. Keluar");
                           System.out.print(" Pilihalah menu [1-5] : ");
                          
                           BufferedReader answer = new BufferedReader(new InputStreamReader(System.in));
                           pilihan = (new Integer(answer.readLine())).intValue();
                          
                           if(pilihan == 0) {
                                  System.out.println("Terimakasih");
                                  break;
                           }else if(pilihan > 5 || pilihan < 0) {
                                  System.out.println("Masukkan pilihan salah");
                           }else {
                                  System.out.print("Masukkan operator 1 : ");
                                  int op1 = (new Integer((new BufferedReader (new InputStreamReader(System.in)).readLine())).intValue());
                                  System.out.print("Masukkan operator 2 : ");
                                  int op2 = (new Integer((new BufferedReader (new InputStreamReader(System.in)).readLine())).intValue());
                                 
                                  if(pilihan == 1) {
                                         System.out.println("Hasil Penjumlahan");
                                         System.out.println(op1 +" + "+op2+" = "+(op1+op2));
                                  }else if(pilihan == 2) {
                                         System.out.println("Hasil Pengurangan");
                                         System.out.println(op1 +" - "+op2+" = "+(op1-op2));
                                  }else if(pilihan == 3) {
                                         System.out.println("Hasil Perkalian");
                                         System.out.println(op1 +" * "+op2+" = "+(op1*op2));
                                  }else if(pilihan == 4) {
                                         System.out.println("Hasil Pembagian");
                                         System.out.println(op1 +" / "+op2+" = "+(op1/op2));
                                  }else if(pilihan == 5) {
                                                System.out.println("Hasil Modulo");
                                                System.out.println(op1 +" % "+op2+" = "+(op1%op2));
                                  }
                                  System.out.println("\n\n");
                           }
                     }
              }catch(IOException e) {
                     System.out.println("Error I/O");
                     System.exit(0);
                    
              }

       }

}








Latihan 8
·         Menampilkan daftar file dalam suatu direktori dengan menggunakan FileJChooser.
·         Digunakan JFrame sebagai container

package iostream;

import java.awt.Container;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.JFrame;

class FileChooser extends JFrame{
       private JFileChooser fChooser;
       private File f;
       private String namaFile;
      
       public FileChooser() {
              Container c = getContentPane();
              fChooser = new JFileChooser();
              int pilihan = fChooser.showOpenDialog(c);
              if(pilihan == JFileChooser.APPROVE_OPTION) {
                     f = fChooser.getSelectedFile();
                     namaFile = f.getName();
                     System.out.println("Nama File : " + namaFile);
              }
              addWindowListener(new WindowAdapter() {
                     public void WindowClosing(WindowEvent ev) {
                           System.exit(0);
                     }
              });
             
              setSize(300, 300);
              setLocation(100, 100);
       }
      
       public static void main(String[] args) {
              // TODO Auto-generated method stub
              new FileChooser().show();

       }

}







Latihan 9
Filtering a stream
·         Contoh penggunaan FilterWriter
·         Membaca per satu character dari suatu file dan menulis ke file yang lain dalam bentuk uppercase
·         Untuk mencoba program:
–Buat file text sebagai file input yang berisi sekumpulan huruf
–Buat file text sebagai file input yang berisi sekumpulan huruf a-z
 –Buat file text kosong sebagai file output
–It as the <input file> argument
·         Cara menggunakan program java TestFileWriter <input file> <output file>

package iostream;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.FilterWriter;
import java.io.IOException;

class TestFilterWriter {

       public static void main(String[] args) {
              // TODO Auto-generated method stub
              String usage = "\n\tUsage : Java TestFilterWriter <input file> <output file>";
              if(args.length != 2){
                     System.err.println(usage);
                     System.exit(-1);
              }
              try {
                     FileReader in = new FileReader(args[0]);
                     FilterWriter fo = new FilterWriter(new FileWriter(args[1]))
                     {
                           public void write(int c) throws IOException{
                                  out.write(Character.toUpperCase((char)c));
                           }
                     };
                    
                     int ch = 0;
                     while((ch = in.read()) != -1) {
                            fo.write(ch);
                     }
                     in.close();
                     fo.flush();
                     fo.close();
              }catch(FileNotFoundException e) {
                     System.err.println(e);
              }catch(IOException e) {
                     System.err.println(e);
              }

       }

}



 

No comments:

Post a Comment

Review Game Lords Mobile

Lords Mobile adalah game Strategi yang dikembangkan dan diterbitkan oleh IGG . Gam...