Pengolahan File Pada Java

Pada tulisan ini akan dibahas mengenai pengelohan pada menggunakan bahasa pemrograman Java. Terkadang dibutuhkan membaca sebuah file dalam membuat program. Pada tulisan  file yang akan dikelola adalah file yang berekstensi .txt. Pada bagian-bagian yang merujuk pada file maka disesuaikan dengan keberadaan file di komputer Anda. Berikut beberapa contoh program Java yang melakukan pengolahan pada file

Membaca File

Misalkan ada sebuah file bernama input.txt dan isi file tersebut adalah :

Sheets of empty canvas, untouched sheets of clay
Were laid spread out before me as her body once did.
All five horizons revolved around her soul as the earth to the sun
Now the air I tasted and breathed has taken a turn

Kemudian dibuat sebuah program untuk membaca file tersebut, kode programnya adalah sebagai berikut:

import java.io.*;
class FileReader 
{
   public static void main(String args[])
  {
      try{
        // buka file
        FileInputStream fstream = new FileInputStream("/Users/rio 1/Documents/MyJavaProject/JavaLanjut/src/input.txt");
        
        // buat objek DataInputStream
        DataInputStream in = new DataInputStream(fstream);
        BufferedReader br = new BufferedReader(new InputStreamReader(in));
        
        String strLine;
        //baca perbaris
        while ((strLine = br.readLine()) != null)   {
          // cetak data
          System.out.println (strLine);
        }
        //tutup input stream
        in.close();
    }catch (Exception e){
        System.err.println("Error: " + e.getMessage());
    }
  }
}

Program di atas akan membaca file input.txt setiap baris kemudian akan mencetaknya pada console.

Menyalin Isi File

Kode program berikut ini akan menyalin isi dari file input.txt ke file output.txt. Berikut ini kode programnya:

import java.io.*;

public class CopyFileStream {
   public static void main(String args[]) throws IOException
   {
      FileInputStream in = null;
      FileOutputStream out = null;

      try {
         in = new FileInputStream("/Users/rio 1/Documents/MyJavaProject/JavaLanjut/src/input.txt");
         out = new FileOutputStream("/Users/rio 1/Documents/MyJavaProject/JavaLanjut/src/output.txt");
         
         int c;
         while ((c = in.read()) != -1) {
            out.write(c);
         }
      }finally {
         if (in != null) {
            in.close();
         }
         if (out != null) {
            out.close();
         }
      }
   }
}

Jika program diatas dijalankan maka isi dari file output.txt akan sama dengan file input.txt.

Menulis Pada File

Pada bagian ini akan diperlihatkan kode program yang berguna untuk menuliskan data kedalam sebuah file. Berikut kode programnya:

import java.io.*;
import java.util.Scanner;

public class TulisData {


    public static void main(String[] args) throws FileNotFoundException {
    //membaca dan menulis file
        int npm;
        String nama = new String("");
        double ipk;
        PrintStream diskWriter = new PrintStream("/Users/rio 1/Documents/MyJavaProject/JavaLanjut/src/mhs.txt");
        int i;
        Scanner sc = new Scanner(System.in);
        System.out.print("Jumlah data = ");
        i = sc.nextInt();
        do
        {
            System.out.print("NPM = ");
            npm = sc.nextInt();
            System.out.print("Nama = ");
            nama = sc.next();
            System.out.print("IPK = ");
            ipk = sc.nextDouble();
            diskWriter.println(npm + " " + nama + " " + ipk);
            i--;
        }
        while(i>0);
        System.out.println("Isi File:");
        Scanner diskScanner = new Scanner(new File("/Users/rio 1/Documents/MyJavaProject/JavaLanjut/src/mhs.txt"));
        while (diskScanner.hasNext())
        {
            npm = diskScanner.nextInt();
            nama = diskScanner.next();
            ipk = diskScanner.nextDouble();
            System.out.println("|" + npm + "| " + nama + " |" + ipk + "|");
        }
    }
}

Demikian penjelasan mengenai pengelohan file pada Java, silahkan eksplorasi lebih lanjut.

Block AdBlock - Powered by Admiral