PENGAKSESAN FILE DI JAVA

dokumen-dokumen yang mirip
PEMROGRAMAN JARINGAN MODUL 3 STREAM

STREAM DAN FILE. PipedInputStream, SequenceInputStream, dan StringBufferInputStream.

Topik. Stream I/O Cara menggunakan Stream Hierarchy Java I/O Membaca File Menulis File Menghapus File Cara membaca isi Direktori dalam file

PRAKTIKUM 8 FILE INPUT OUTPUT

PERTEMUAN V STREAM DAN OOP TUJUAN PRAKTIKUM. 2. Praktikan memahami pemrograman berbasis objek dengan mengetahui karakteristik OOP.

Pertemuan 7 File pada Java

Pertemuan ke-1 STREAM DAN IO. A. TUJUAN : Mampu mengimplementasikan kelas-kelas untuk menangani aliran data.

PRAKTIKUM 7 DASAR INPUT OUTPUT

PEMROGRAMAN JAVA : STREAM DAN FILE

PEMROGRAMAN II. By : Sri Rezeki Candra Nursari. Penilaian : Gasal TA 2011/2012. UAS (lisan) = 35 % UTS = 25 % Tugas = 15 % Praktikum = 25 %

PENGENALAN JAVA (2)

A. TUJUAN PEMBELAJARAN

Materi kuliah I/O & FILE. Ir. Roedi Goernida, MT.

Pemrograman Jaringan 4. Java IO

Cara Membaca File Text di JAVA

Dapat dicompile dan mendapat output hai. Dapat dicompile dan mendapat output disana

2. Pernyataan mana yang dapat kita laksanakan dengan menggunakan class File? Mengganti direktori tempat bekerja saat ini

A. TUJUAN PEMBELAJARAN

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA

CompileError - The method write(int) in the type FileOutputStream is not applicable for

Pemrograman Socket menggunakan TCP

BAB Argument Command-Line dan System Properties

MK. Pemrograman Berorientasi Objek. Input dari Keyboard. Karmilasari

1.Tujuan. 2. Latar Belakang. Tahu tipe-tipe stream yang umum digunakan Menggunakan class File dan methodnya

Bahasa Pemrograman :: Dasar Pemrograman Java

Introduction To Stream

PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH)

I/O (Input dan Output)

I/O Streams. Oleh Kholid Fathoni

IOSTREAM bagian 2. Kholid Fathoni

BAB III SEKUENSIAL 3.1. Kompetensi Dasar 3.2. Perintah Masukan a. Scanner

BAB II VARIABEL DAN TIPE DATA

2 TIPE DATA DAN VARIABEL

LAMPIRAN A: SOURCE CODE PROGRAM CLASS METODE

Overview I/O Streams Byte stream & Character Stream Hirarki class pada package java.io Read & write streams

OPERASI FILE & EXCEPTION HANDLING. Herman Tolle

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

Objek Stream, Akses File & Exception Handling

//PROGRAM " tidak dapat dibaca")); import java.io.file; Date tanggal = new Date(); import java.io.ioexception;

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT LUNAK

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 5 Dosen : Bella Hardiyana S. Kom

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

BAB 4 ARRAY. number1 = 10; number2 = 20; number3 = 30;

OPERASI FILE READ WRITE

IF2281 Pemrograman Berorientasi Objek Program kecil Pelengkap Diktat. import java.io.*; import java.util.scanner; class IO {

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

PEMROGRAMAN BERORIENTASI OBJEK

TIPE DATA Pertemuan (K-03/L-03)

APLIKASI CHAT ANTAR PC

BAHASA PEMROGRAMAN JAVA

Operasi File. terdapat 5 konstruktor dan 7 method untuk membuat file yang akan diakses menggunakan byte stream.

Setelah menyelesaikan praktikum ini, mahasiswa diharapkan mampu:

12.2 Tipe-Tipe Stream yang Umum Digunakan

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception. 2. Mengetahui cara membuat sendiri class exception.

Java Basic. Variabel dan Tipe Data. Lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu informasi (nilai)

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

Terdiri atas deretan karakter String diimplementasikan oleh java dalam bentuk class. Dapat langsung di konstruksi tanpa perintah new

PERTEMUAN 3 OBJEK DAN CLASS

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

Exception adalah penanda bahwa kondisi/kejadian yang tidak diinginkan telah terjadi pada program kita. Ada 2 jenis exception (+1 Error):

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

MODUL III ARRAYLIST TUGAS PENDAHULUAN

Mukhlidi Muskhir Modul 2

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

MODUL 7 I/O Stream. Tujuan: Mahasiswa dapat mengenal dan memahami konsep I/O Stream, serta penerapan I/O Stream dalam konsep OOP

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

JAVA BASIC PROGRAMMING Joobshet

Badiyanto, S.Kom., M.Kom. PBO java

TPI4202 e-tp.ub.ac.id. Lecture 4 Mas ud Effendi

TKJ 2A TKJ 2B TMJ 2. Estu Sinduningrum, ST, MT

OPERATOR-OPERATOR DALAM JAVA

Penggunaan Netbeans IDE, Hello World, variable dan Operator aritmetika.

PEMAHAMAN DASAR DASAR JAVA

MODUL VIII Exception, I/O, dan Operasi File

A. TUJUAN : Dapat mengimplementasi-kan kelas-kelas Java yang digunakan dalam pemrogaman jaringan.

PERTEMUAN I PENGENALAN JAVA

Percabangan & Perulangan

Array. Pengantar. int a, b, c, d, e;

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

MODUL PRAKTIKUM DASAR-DASAR PEMROGRAMAN

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

Modul Praktikum 4 Pemograman Berorientasi Objek

SUMBER BELAJAR PENUNJANG PLPG

EXCEPTION. 2. Pada kondisi bagaimana klausa finally tidak akan dieksekusi? Kode didalam block try memiliki statement return

Pemrograman JAVA INPUT-OUTPUT

Input Nilai tanpa Case String di Java

SILABUS MATA KULIAH PEMROGRAMAN JAVA

Percabangan dan Perulangan

Bab 8. Dasar-Dasar OOP

Input - Output PEMROGRAMAN DASAR. Dr. Eng. Herman Tolle, ST., MT. Sistem Informasi PTIIK UB Semester Ganjil 2014/2015

File dan Directory. Prepared by Viska Mutiawani. 1

Variabel tersebut seharusnya bisa dideklarasikan didalam try block dan block catch

Modul Praktikum Bahasa Pemrograman 1

PEMROGRAMAN JAVA. Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita

PRAKTIKUM 17 MENANGANI EXCEPTION

Transkripsi:

Media Informatika Vol.16 No.1 (2017) PENGAKSESAN FILE DI JAVA Rachmat Selamet Sekolah Tinggi Manajemen Informatika dan Komputer LIKMI Jl. Ir. H. Juanda 96 Bandung 40132 E-mail : rachmatselametskom@gmail.com ABSTRAK File adalah tempat untuk menyimpan / membaca data yang tersimpan di dalam disk secara permanen. Java sudah menyediakan kelas yang mengakses file di dalam paket io. Kelas yang tersedia sudah mampu digunakan untuk mengakses file dalam bentuk file binary, file text maupun file kompresi zip. Untuk menghubungkan file yang tersimpan dalam disk dengan java, menggunakan kelas File. Untuk mengakses file binary digunakan kelas FileOutputStream dan FileInputStream. Untuk mengakses file text digunakan kelas FileReader dan FileWriter. Untuk mengakses file zip digunakan kelas File zip berjenis zip lebih baik dari gzip karena menyimpan informasi lebih lengkap. Kata Kunci : Java, File, File Text, File Binary, File Zip 1 PENDAHULUAN Secara umum, struktur data yang ada selain file, tersimpan di memori, sehingga data yang tersimpan akan hilang setelah program dimatikan. Agar data tersimpan secara pemanen dalam disk, digunakan struktur file. Dalam program java, file terdapat dalam paket io. Terdapat 4 kelas utama untuk mengakses file, yaitu File, File streaming, File reader writer, dan File zip. Kelas file merupakan kelas yang menghubungkan file dalam disk dengan file sebagai object. Kelas file streaming berguna untuk mengakses file binary (file yang datanya tidak dapat dibaca secara langsung karena datanya diubah dalam bentuk biner oleh program). Kelas file reader writer berguna untuk mengakses file text (file yang datanya dapat dibaca secara langsung menggunakan notepad). File zip merupakan file kompresi yang paling banyak digunakan. Terdapat 2 jenis zip yang dapat diakses, yaitu gzip dan zip. 47

48 Racmat Selamet Pengaksesan File di Java 2 FILE Merupakan kelas untuk mengakses file secara umum di sistem operasi. Cara deklarasi : File file = new File("in.txt"); // file yang ada di direktori skrg File file = new File("d:\\myproject\\java\\Hello.java"); // file dengan absolute path File dir = new File("c:\\temp"); // direktori/folder Method dari File : a. public boolean exists() // untuk memeriksa file/folder ada b. public long length() // menghitung panjang dari file c. public boolean isdirectory() // memeriksa apakah folder/bukan d. public boolean isfile() // memeriksa apakah file/bukan e. public boolean canread() // memeriksa apakah file dapat dibaca f. public boolean canwrite() // memeriksa apakah file dapat ditulis g. public boolean delete() // menghapus file/folder h. public void deleteonexit() // menghapus file ini setelah program keluar i. public boolean renameto(file dest) // mengubah nama file ini j. public boolean mkdir() // membuat folder k. public String[] list() // mengambil isi folder ini dalam array of string l. public File[] listfiles() // mengambil isi folder ini dalam array of File m. public String[] list(filenamefilter filter) //mengfilter isi folder n. public File[] listfiles(filenamefilter filter) //mengfilter isi folder o. public File[] listfiles(filefilter filter) //mengfilter isi folder p. public boolean accept(file dir, String file) //untuk menerima file/folder yang sudah difilter

Media Informatika Vol.16 No.1 (2017) 49 Contoh File1.java import java.io.file; import java.io.filenamefilter; public class ContohFile1 { public static void main(string[] args) { File dir = new File(".\\src\\ContohFile1"); if (dir.isdirectory()) { String[] files = dir.list(new FilenameFilter() { public boolean accept(file dir, String file) { return file.endswith (".java"); ); for (String file : files) { System.out.println(file); 3 FILE BINARY Untuk mengakses file binary digunakn kelas FileOutputStream dan FileInputStream. Method dari FileOutputStream : a. public void close() throws IOException{ // menutup fileoutputstream b. protected void finalize() throws IOException { // membersihkan koneksi dari file dan memastikan file sudah ditutup dan tidak terhubung dengan stream c. public void write (int w) throws IOException{ // menuliskan byte ke fileoutputstream d. public void write(byte[] w) // menuliskan sejumlah byte dari array ke fileoutputstream e. public void flush() // membersihkan stream dan menyimpan seluruh stream ke file Method dari FileInputStream : a. public void close() throws IOException{ // menutup fileoutputstream b. protected void finalize()throws IOException { // membersihkan koneksi dari file dan memastikan file sudah ditutup dan tidak terhubung dengan stream

50 Racmat Selamet Pengaksesan File di Java c. public int read(int r)throws IOException{ // membaca data perbyte dari fileinputstream dan menghasilkan -1 untuk EOF (End Of File) d. public int read(byte[] r) throws IOException{ // membaca data dari fileinputstream dan menghasilkan -1 untuk EOF (End Of File) e. public int available() throws IOException{ // menghitung jumlah byte data yang dapat diambil oleh inputstream Contoh FileStream.java public static void main(string[] args)throws IOException{ String nama; int jumlah; double harga; char tanya; File file=new File("jual.dat"); FileOutputStream out=new FileOutputStream(file); DataOutputStream outs=new DataOutputStream(new BufferedOutputStream(out)); byte[] isi; System.out.printf("Nama : ");nama=scn.next(); while (!nama.equalsignorecase("x")){ System.out.printf("Jumlah : "); jumlah=scn.nextint(); System.out.printf("Harga : "); harga=scn.nextdouble(); System.out.printf("Disimpan(Y/T)? "); t anya=scn.next().touppercase().charat(0); If (tanya=='y'){ isi=(nama+",").getbytes(); outs.write(isi); outs.writeint(jumlah); outs.writedouble(harga); outs.flush(); System.out.println(); System.out.printf("Nama : ");nama=scn.next(); if(out!=null) out.close(); FileInputStream in=new FileInputStream("jual.dat"); DataInputStream ins=new DataInputStream(new BufferedInputStream(in)); System.out.println( Nama Jumlah Harga Bayar ); while(ins.available()>0){ tanya=(char)ins.readbyte(); nama=""; while(tanya!=','){ nama+=tanya; tanya=(char)ins.readbyte(); jumlah=ins.readint(); harga=ins.readdouble(); System.out.printf("%s %d %f %f\n",nama,jumlah,harga,jumlah*harga); System.out.println(); if(in!=null) in.close();

Media Informatika Vol.16 No.1 (2017) 51 4 FILE TEXT Untuk mengakses file text digunakan kelas FileReader, kelas FileWriter, dan kelas Scanner. Method dari FileWriter dan Buffered : a. public void close() throws IOException{ // menutup filewriter b. protected void finalize()throws IOException { // membersihkan koneksi dari file dan memastikan file sudah ditutup dan tidak terhubung dengan buffer c. public void write(string w) // menuliskan sejumlah byte dari array ke filewriter d. public void flush() // membersihkan buffer dan menyimpan seluruh buffer ke file Method dari FileReader dan Scanner : a. public void close() throws IOException{ // menutup filereader b. protected void finalize()throws IOException { // membersihkan koneksi dari file dan memastikan file sudah ditutup dan tidak terhubung dengan buffer c. public boolean hasnext() // memeriksa apakah ada data selanjutnya dalam scanner d. public String next() // mengambil string dari scanner e. public int nextint() // mengambil integer dari scanner f. public int nextfloat() // mengambil float dari scanner g. public int nextdouble() // mengambil double dari scanner

52 Racmat Selamet Pengaksesan File di Java Contoh FileReaderWriter.java public static void main(string[] args)throws IOException{ String nama; int jumlah; double harga; char tanya; File file=new File("jual.txt"); FileWriter fw=new FileWriter(file); BufferedWriter bw=new BufferedWriter(fw); System.out.printf("Nama : ");nama=scn.next(); while(!nama.equalsignorecase("x")){ System.out.printf("Jumlah : ");jumlah=scn.nextint(); System.out.printf("Harga : ");harga=scn.nextdouble(); System.out.printf("Disimpan(Y/T)? ");tanya=scn.next().touppercase().charat(0); if(tanya=='y'){ bw.write(nama+" "); bw.write(string.valueof(jumlah)+" "); bw.write(string.valueof(harga)+" "); bw.flush(); System.out.println(); System.out.printf("Nama : ");nama=scn.next(); if(fw!=null) fw.close(); FileReader fr=new FileReader("jual.txt"); Scanner fscn=new Scanner(fr); while(fscn.hasnext()){ nama=fscn.next(); jumlah=fscn.nextint(); harga=fscn.nextdouble(); System.out.printf("%s %d %f %f\n",nama,jumlah,harga,jumlah*harga); if(fr!=null) fr.close(); 5 FILE ZIP Terdapat 2 jenis file zip yang dapat diakses, yaitu gzip dan zip. Untuk membuat file zip menggunakan ZipOutputStream yang terdapat dalam paket java.util.zip. Berikut contoh penggunaan ZipOutputStream dengan menggunakan file tambahanjurnal.txt yang dikompres menjadi tes.zip di dalam folder periksa drive D: import java.io.file; import java.io.fileinputstream; import java.io.fileoutputstream; import java.io.ioexception; import java.util.zip.zipoutputstream; import java.util.zip.zipentry; public class ContohZip { public static void main( String[] args ) { ContohZip zipobj = new ContohZip(); zipobj.zipmyfile();

Media Informatika Vol.16 No.1 (2017) 53 public void zipmyfile(){ byte[] buffer = new byte[1024]; try{ ZipOutputStream gos = new ZipOutputStream(new FileOutputStream ("D://Periksa/tes.zip")); FileInputStream fis = new FileInputStream("D:/Periksa/tambahanjurnal.txt"); ZipEntry ze= new ZipEntry("/Periksa/tambahanjurnal.txt"); gos.putnextentry(ze); int length; while ((length = fis.read(buffer)) > 0) { gos.write(buffer, 0, length); fis.close(); gos.finish(); gos.close(); System.out.println("File Compressed!!"); catch(ioexception ioe){ ioe.printstacktrace(); Berikut contoh penggunaan GZIPOutputStream dengan menggunakan file tambahanjurnal.txt yang dikompres menjadi tes.gz di dalam folder periksa di drive D : import java.io.file; import java.io.fileinputstream; import java.io.fileoutputstream; import java.io.ioexception; import java.util.zip.gzipoutputstream; public class ContohZip { public static void main( String[] args ) { ContohZip zipobj = new ContohZip(); zipobj.gzipmyfile(); public void gzipmyfile(){ byte[] buffer = new byte[1024]; try{ GZIPOutputStream gos = new GZIPOutputStream(new FileOutputStream("D:/Periksa/tes.gz")); FileInputStream fis = new FileInputStream("D:/Periksa/tambahanjurnal.txt"); int length; while ((length = fis.read(buffer)) > 0) { gos.write(buffer, 0, length);

54 Racmat Selamet Pengaksesan File di Java fis.close(); gos.finish(); gos.close(); System.out.println("File Compressed!!"); catch(ioexception ioe){ ioe.printstacktrace(); Berikut contoh penggunaan ZipInputStream dengan menggunakan file tes.zip yang dibuka ke folder periksa/2 di drive D: import java.io.file; import java.io.fileinputstream; import java.io.fileoutputstream; import java.io.ioexception; import java.util.zip.zipinputstream; import java.util.zip.zipentry; public class ContohZip { public static void main( String[] args ) { ContohZip zipobj = new ContohZip(); zipobj.unzipit("d:/periksa/tes.zip", "d:/periksa/2"); public void unzipit(string zipfile, String outputfolder){ byte[] buffer = new byte[1024]; try{ File folder = new File(outputFolder); if(!folder.exists()){ folder.mkdir(); ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFile)); ZipEntry ze = zis.getnextentry(); while(ze!=null){ String filename = ze.getname(); File newfile = new File(outputFolder + File.separator + filename); System.out.println("file unzip : "+ newfile.getabsolutefile()); new File(newFile.getParent()).mkdirs(); FileOutputStream fos = new FileOutputStream(newFile); int len; while ((len = zis.read(buffer)) > 0) { fos.write(buffer, 0, len);

Media Informatika Vol.16 No.1 (2017) 55 fos.close(); ze = zis.getnextentry(); zis.closeentry(); zis.close(); System.out.println("Done"); catch(ioexception ex){ ex.printstacktrace(); Berikut contoh penggunaan GZIPInputStream dengan menggunakan file tes.gz untuk membuka file menjadi hasil.txt di dalam folder periksa di drive D : import java.io.file; import java.io.fileinputstream; import java.io.fileoutputstream; import java.io.ioexception; import java.util.zip.gzipinputstream; public class ContohZip { public static void main( String[] args ) { ContohZip zipobj = new ContohZip(); zipobj.gunzipit("d:/periksa/tes.gz", "d:/periksa/hasil.txt"); zipobj.unzipit("d:/periksa/tes.zip", "d:/periksa/2"); public void gunzipit(string INPUT_GZIP_FILE,String OUTPUT_FILE){ byte[] buffer = new byte[1024]; try{ GZIPInputStream gzis = New GZIPInputStream(new FileInputStream(INPUT_GZIP_FILE)); FileOutputStream out = new FileOutputStream(OUTPUT_FILE); int len; while ((len = gzis.read(buffer)) > 0) { out.write(buffer, 0, len); gzis.close(); out.close(); System.out.println("Done"); catch(ioexception ex){ ex.printstacktrace();

56 Racmat Selamet Pengaksesan File di Java 6 KESIMPULAN Kesimpulan yang dapat ditarik dari jurnal ini adalah sebagai berikut : a. Java sudah menyediakan kelas untuk mengakses file dalam 4 bentuk, yaitu untuk file yang langsung berada di dalam OS (File.java), file binary (FileOutputStream.java dan FileInputStream.java), file text (FileReader.java dan FileWriter.java) dan file zip (GZIPOutputStream.java, GZIPInputStream.java, ZipOutputStream.java dan ZipInputStream.java). b. Secara umum mendeklarasikan file yang akan digunakan menggunakan kelas File.java dengan konstruktor File(nama file beserta full path). c. Setelah file selesai digunakan, pastikan dengan menutup file menggunakan method close. d. File text dapat dibaca datanya secara langsung menggunakan kelas Scanner dengan menambahkan spasi sebagai pemisah antar data. e. Dalam file stream, untuk menuliskan tipe data string harus dikonversi dalam bentuk array dengan data byte. f. File kompresi zip dapat dibuat dengan menggunakan kelas GZIPOutputStream atau ZipOutputStream g. File kompresi zip dapat dibuka dengan menggunakan kelas GZIPInputStream atau ZipInputStream h. File zip dari zip lebih baik dari gzip, karena menyimpan semua informasi baik folder maupun nama file yang dikompres. DAFTAR PUSTAKA [1] https://docs.oracle.com. [2] http://www.javatpoint.com. [3] http://beginnersbook.com. [4] http://www.tutorialspoint.com. [5] https://www.mkyong.com [6] https://examples.javacodegeeks.com [7] http://www.java2novice.com