Java Programming‎ > ‎Java I/O‎ > ‎

04. Menulis File pada Posisi Tertentu - Non Sekuensial

posted Sep 25, 2011, 11:37 PM by Editor KursusInternet.com   [ updated Sep 26, 2011, 12:41 AM ]

Pendahuluan

Pada artikel sebelumnya, kita telah ditunjukkan contoh bagaimana membaca file pada posisi tertentu secara non sekuensial atau bisa dikatakan pada posisi random manapun yang kita inginkan.

Untuk artikel ini, akan dicontohkan bagaimana kita menulis pada posisi yang kita inginkan dengan class RandomAccessFile. Penggunaan constructor dan modus penulisan tetap sama seperti dijelaskan pada artikel 03. Membaca File dari Posisi Tertentu - Non Sekuensial.

Contoh Penulisan File

Berikut adalah contoh potongan program Java yang melakukan penulisan pada file contoh.txt (terlampir pada bagian akhir artikel) pada posisi kolom 30 dengan entri "Entri00Isi00". Isi sebelumnya akan ditimpa (overwrite) oleh entri terbaru.

package com.kursusinternet.io;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

public class TulisRandomAccess {
  public static void main(String[] args) {
    try {
      RandomAccessFile fileInput = new RandomAccessFile("C:/contohfile.txt""rw");

      //Ambil posisi di 30, 
      //karena index dimulai dari 0 maka kita masukkan 29
      int offset = 29;

      String inputStr = "Entri00Isi00";
      fileInput.seek(offset);
      fileInput.write(inputStr.getBytes());
      
      fileInput.close();

    catch (FileNotFoundException e) {
      System.err.println("File tidak ditemukan !");
      e.printStackTrace();
    }
    catch (IOException e) {
      System.err.println("I/O Exception !");
      e.printStackTrace();
    }

  }
}

Hasil Eksekusi

File contoh.txt - sebelum penulisan

IniadalahheaderyangtidakperluEntri01Isi01Entri02Isi02Entri03Isi03

File contoh.txt - setelah penulisan

IniadalahheaderyangtidakperluEntri00Isi00Entri02Isi02Entri03Isi03

ċ
contohfile.txt
(0k)
Editor KursusInternet.com,
Sep 26, 2011, 12:39 AM
Comments