Dalam Pemrograman Teks yang menggunakan bahasa pemrograman java atau bahasa pemrograman yang lainnya materi tentang akses sebuah file disajikan setelah materi tentang array. Hal ini dibuat agar orang-orang yang mempelajari program komputer memahami konsep penyimpanan data yang diolah oleh sebuah program komputer. Jika data tunggal disimpan dalam sebuah variabel jika data yang jumlahnya banyak akan disimpan dalam sebuah array. Penyimpanan data ini melibatkan memori komputer internal atau dikenal juga sebagai RAM.
Kemudia data yang jumlahnya banyak yang tidak dapat disimpan dalam sebuah variable dan membutuhkan tempat penyimpanan yang permanen dengan menggunakan memori eksternal, salah satu contohnya Hard Disk, dapat disimpan dengan menggunakan File. Jika data disimpan pada sebuah RAM maka data akan cepat untuk diproses oleh komputer dibandingkan dengan File, tetapi jika komputer tidak dialiri arus listrik maka data di RAM akan hilang, dan hal ini berbeda jika data tersebut tersimpan pada hard disk.
Kemudia data yang jumlahnya banyak yang tidak dapat disimpan dalam sebuah variable dan membutuhkan tempat penyimpanan yang permanen dengan menggunakan memori eksternal, salah satu contohnya Hard Disk, dapat disimpan dengan menggunakan File. Jika data disimpan pada sebuah RAM maka data akan cepat untuk diproses oleh komputer dibandingkan dengan File, tetapi jika komputer tidak dialiri arus listrik maka data di RAM akan hilang, dan hal ini berbeda jika data tersebut tersimpan pada hard disk.
Bahasa pemrograman java memberikan ruang kepada para programmer untuk membuat program yang dapat mengakses sebuah file. Akses file ini ada dua hal yang sangat pending yaitu membaca dan menulis(lihat gambar). Berikut contoh kode sumber yang digunakan untuk mengakses(menulis) file yang dituliskan dengan menggunakan bahasa pemrograman java.
- package bacafile2;
- import java.io.*;
- public class Bacafile2 {
- public static void main(String[] args) throws IOException{
- System.out.println("Nama file yang akan dibaca");
- String paymo;
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- paymo = br.readLine();
- System.out.println("Masukan data pada file " + paymo + "...");
- System.out.println("Ketikan x* untuk berhenti");
- FileOutputStream fos = null;
- try {
- fos = new FileOutputStream(paymo);
- } catch (FileNotFoundException ex) {
- System.out.println("File tidak dapat dibuka.");
- }
- try {
- boolean done = false;
- int data;
- do {
- data = br.read();
- if ((char)data == 'x') {
- data = br.read();
- if ((char)data == '*') {
- done = true;
- } else {
- fos.write('x');
- fos.write(data);
- }
- } else {
- fos.write(data);
- }
- } while (!done);
- } catch (IOException ex) {
- System.out.println("Ada masalah dalam membaca file");
- }
- }
- }
Kode program diatas menggunakan nama package bacafile2 jika dijalankan akan meminta nama file yang akan dibaca, jika kita mengetikan sebuah nama file maka jika file tersebut belum ada akan dibuatkan dan jika sudah ada akan dibuka dan selanjutnya diisi dengan data sampai kita mengetikan karakter x* untuk menutup atau mematikan program yang sedang berjalan ini. Untuk membaca file yang dibuat dan diisi dengan kode sumber diatas dibutuhkan sebuah program yang juga dituliskan dengan menggunakan bahasa java seperti dibawah ini :
- package bacafile1;
- import java.io.*;
- public class Bacafile1 {
- public static void main(String[] args) throws IOException{
- System.out.println("Ketikan nama file yang akan dibaca?");
- String filename;
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- filename = br.readLine();
- System.out.println("Mulai membaca dari " + filename + "...");
- FileInputStream fis = null;
- try {
- fis = new FileInputStream(filename);
- } catch (FileNotFoundException ex) {
- System.out.println("File not found.");
- }
- try {
- char data;
- int temp;
- do {
- temp = fis.read();
- data = (char) temp;
- if (temp != -1) {
- System.out.print(data);
- }
- } while (temp != -1);
- } catch (IOException ex) {
- System.out.println("ada masalah dengan file anda.");
- }
- }
- }
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.