nTrianto

  • free counters

Membaca dan Menulis file Pada java

Posted by naupal on 3 April 2011

Terdapat dua buah stream yang sering digunakan untuk melakukan proses membaca dan menulis data dari/ke dalam file, yaitu: FileInputStream(untuk membaca data) dan FileOutputStream(utuk menulis data), keduanya akan membentuk stream byte yang terhubung kesebuah file. utuk membuka file kita harus membuat objek dari salah satu kelas stream tersebut dengan menyertakan nama filse sebagai argumen constructornya.Constructor yang akan kita gunakan adalah :

FileInputStream(String namaFile) throws FileNotFoundException
FileOutputStream(String namaFile) throws FileNotFoundException

kemudian ketika kita selesai dengan file yang bersangkutan maka stream tersebut kita tutup dengan memangil method

close() throws IOException

Untuk membaca data dari file kita dapat memangil method read() method ini akan mengembalikan nilai integer -1 jika telah selesai membaca file.

kita akan coba membuat file input, tapi sebelumnya butalah file Input.txt pada D:/ isinya bebas. kemudian ketikanlah code berikut :

import java.io.FileInputStream;
import java.io.IOException;

/**
 *
 * @author nave
 */
public class MembacaFile {
    public static void main(String args[]){
        FileInputStream finput=null;
        int data;

        //membuka file
        try{
            finput = new FileInputStream("d:/Input.txt");
        }catch(IOException e){}
        //membaca data dari dalam file dan menpilkanya ke layar
        try{
            while((data = finput.read())!=-1){
                //ketika di tampikan data di konversi ketipe char
                System.out.print((char) data);
            }

        }catch(IOException e){}
        try{
             finput.close();
        }catch(IOException e){}

    }
}

Program diatas akan menapilkan isi dari file Input.txt

Selanjutnya kita akan mencoba membuat sebuah file, method yang akan kita gunakan adalah

void write(int nilaiByte)

data yang akan dituliskan harus dalam bentuk integer. berikut ini contoh programnya :

import java.io.FileOutputStream;
import java.io.IOException;

/**
 *
 * @author nave
 */
public class TulisFile {
    public static void main(String args[]){
        FileOutputStream foutput=null;
        String data="Halo And Hai";

        //membuka file
        try{
            foutput = new FileOutputStream("d:/Output.txt");
        }catch(IOException e){}

        //menulis data kedalam file
        try{
            for(int i=0;i<data.length();i++){
                foutput.write((int) data.charAt(i));
            }
        }catch(IOException e){}

        try{
            foutput.close();
        }catch(IOException e){}

    }

}

jika file sudah terdapat pada direktori yang ditunjuk maka file itu akan ditimpa.

Memperoleh Informasi File

Kelas File mempunyai beberapa method yang dapat digunakan untuk memperoleh informasi mengenai file yang diakses. berikut ini merupakan daftar beberapa method yang dapat digunakan:

exist() mengembalikan nilai true apabila file ada
getCanonicalpath()
mengembalikan nama lengkap
getName()
mengembalikan nama file relatif
getParent()
mengembalikan direktori yang ditempatinya
canRead()
mengembalikan nilai true apabila file dapat dibaca
canWrite()
mengembalikan nilai true apablia file dapat ditulis
lastModified()
mengembalikan waktu modifikasi file
length()
mengembalikan ukuran file
isFile()
mengembalikan nilai true jika yang diperiksa merupakan file
isDirectory
mengembalikan nilai true jika yang diperiksa merupakan diectory

unutk lebih jelasnya dapat diliha pada contoh dibawah ini :

import java.io.File;
import java.io.IOException;
import java.util.Date;

/**
 *
 * @author nave
 */
public class AtributFile {
    public static void main(String args[]) throws IOException{
        File f = new File("D:/Images/JawaBarat.png");
        tulis("nama File : "+f.getName());
        tulis("Nama lengkap : "+f.getCanonicalPath());
        tulis("path Absolut : "+f.getAbsolutePath());
        tulis("Path : "+f.getPath());
        tulis("Parent : "+f.getParent());
        tulis(f.getName()+(f.exists()?"ada":"tidak ada"));
        tulis(f.getName()+(f.isFile()?"adalah file":"bukan file"));
        tulis(f.getName()+(f.isDirectory()?"adalh directory":"bukan directory"));
        tulis(f.getName()+(f.canWrite()?"dapat ditulis":"tidak dapat ditulis"));
        tulis(f.getName()+(f.canRead()?"dapat dibaca":"tidak dapat dibaca"));

        Date tangal = new Date();
        tangal.setTime(f.lastModified());
        tulis("Tanggal modifikasi terakhir : "+tangal);
        tulis("Ukuran file : "+f.length()+" byte");

    }
    public static void tulis(String str){
        System.out.println(str);
    }

}

Selanjutnya untuk Merubah nama file dapat mengunakan method renameTo()
f.renameTo(new File(“d:/Images/bandung.png”));

unutk Menghapus file dapat mengunakan method delete()
f.delete();

Leave a comment