Cara Membaca File dalam Java

Bagaimanakah cara membaca suatu file dengan menggunakan bahasa pemrograman Java? Untuk melakukan hal tersebut, kita membutuhkan class java.io yang menangani masalah input dan output.



Langsung saja, contoh implementasinya adalah sebagai berikut :
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * Program ini membaca baris file teks per baris dan menampilkannya ke console.
 * Digunakan FileOutputStream untuk membaca file.
 * 
 */

public class FileInput {

    public static void main(String[] args) {

        File file = new File("html5.txt");
        FileInputStream fis = null;
        BufferedInputStream bis = null;
        DataInputStream dis = null;

        try {
            fis = new FileInputStream(file);

            // di sini BufferedInputStream ditambahkan untuk pembacaan secara cepat.
            bis = new BufferedInputStream(fis);
            dis = new DataInputStream(bis);

            // dis.available() akan mengembalikan nilai 0 jika file sudah tidak punya baris lagi.
            while (dis.available() != 0) {

                // statement ini membaca baris dari file dan menampilkannya ke console.
                System.out.println(dis.readLine());
            }

            // buang semua resources setelah menggunakannya.
            fis.close();
            bis.close();
            dis.close();

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Sekian, selamat mencoba , dan semoga bermanfaat...

20 comments:

Anonim mengatakan...

Kok gak bsa di run, ad mslah pda apx ini mas???
mau tnya lgi file txt, itu qta truh dmna agr dpat di dteksi?

Unknown mengatakan...

peringatan errornya apa?
biar ke detect taroh file nya dalam folder yang sama ama file javanya.

Rizkinya Rizki mengatakan...

iya error mas...

spt ini >>>

java.io.FileNotFoundException: Log.txt (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:138)
at jeni_intro2.ReadTextFile_1.main(ReadTextFile_1.java:26)

Unknown mengatakan...

Mas Rizki, diliat dari errornya itu berarti file-nya tidak ketemu. Taroh filenya satu folder sama file javanya.

Anonim mengatakan...

mas arif saya ma nanya,,di java gimana caranya baca data serial yang dikirim melalui jaringan TCP/IP??saya pake modul Wiz110sr (serial to rj45 converter).klo pake c# sudah bisa pake socket..gimana dengan java??

makasih mas

Obat Kuat mengatakan...

saya sering berkunjung di blog-blog, postingan ini sangat menarik serta enak dibaca.... saya berharap bisa berkunjung lagi

Unknown mengatakan...

Di java juga ada socket nya mas Anonim... tinggal search google and there they are... udah banyak banget posting tentang java socket.

Unknown mengatakan...

nice post, ditunggu postingan lainnya..

Catatan Irma mengatakan...

klo yang mo kita ambil berupa directory gmn? ko ga bisa ya? malah filenotfoundexception?

Unknown mengatakan...

Kalau mau baca directory beda lagi caranya mas.. coba lihat posting saya yang ini http://bow-masbow.blogspot.com/2010/12/membaca-direktori-dalam-java.html siapa tau itu yang mas maksud.

Catatan Irma mengatakan...

yups maksih,, akan saya coba,,,

Kheu mengatakan...

mas mo tanya nih,,, saya kan lagi coba bikin aplikasi enkripsi dekripsi folder, nah,,, hampir sama seperti mas lathif. untuk file bisa ke baca n dienkrip tapi pas datanya berupa folder/directory malah muncul exception, filenotfound,knpa? emng beda y? mas punya contoh lain ga selain yang diatas,?

Unknown mengatakan...

Untuk membaca direktori caranya beda lagi, insyaAllah ada di link yang saya kasih ke mas lathif. http://bow-masbow.blogspot.com/2010/12/membaca-direktori-dalam-java.html Kalau membaca direktori sih intinya cuma me-list isi dari direktori tsb.

Anonim mengatakan...

mas mau nanya dong,
kalo kita mau mengeksekusi perintah command prompt (cmd) gimana kalo dengan java.
thanks

Unknown mengatakan...

contoh sederhana seperti ini

import java.io.IOException;

public class CobaCommand {

public static void main(String[] args) {
Runtime rt = Runtime.getRuntime();
try {
rt.exec("cmd.exe /c start ping localhost -t");
} catch (IOException e) {
e.printStackTrace();
}
}

}

Kank Lathif mengatakan...

dijelasin tentang baris yang
rt.exec("cmd.exe /c start ping localhost -t");
ya mas..maturnuwun..

Unknown mengatakan...

rt adalah objek yang dibentuk dari kelas Runtime yang telah tersedia dalam java. exec adalah salah satu method yang dimiliki oleh kelas Runtime, yang berfungsi mengeksekusi perintah. jadi baris di atas maksudnya adalah kita mengeksekusi cmd.exe (command prompt akan terbuka), kemudian akan mengeksekusi perintah "ping localhost -t" dalam command prompt.

IT UNTUK KEHIDUPAN mengatakan...

Thanks ats infox. .. jka ingin membaca nya per basris untuk di dimpan ke variable bgmn ya mas?

Misalnya String Server = baris 1
String user = baris 2

Unknown mengatakan...

public class Main {

/**
* @param args
*/
public static void main(String[] args) {
File file = new File("D:/BELAJAR/test.txt");
FileInputStream fis = null;
BufferedInputStream bis = null;
DataInputStream dis = null;

try {
fis = new FileInputStream(file);

// di sini BufferedInputStream ditambahkan untuk pembacaan secara cepat.
bis = new BufferedInputStream(fis);
dis = new DataInputStream(bis);

int i = 0;
Map a = new HashMap();
// dis.available() akan mengembalikan nilai 0 jika file sudah tidak punya baris lagi.
while (dis.available() != 0) {

// statement ini membaca baris dari file dan memasukkannya dalam a.
a.put(i, dis.readLine());
i++;
}

// buang semua resources setelah menggunakannya.
fis.close();
bis.close();
dis.close();

//Menampilkan isi dari a
for (int j = 0; j < a.size(); j++) {
System.out.println("baris "+(j+1)+" = "+a.get(j));
}


} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}

}

Dalam contoh di atas saya menyimpan dulu tiap barisnya ke dalam Map a, jadi nilai dari a.get(0) adalah baris 1, a.get(1) adalah baris 2, dan seterusnya

Guido_Harley mengatakan...

mas bowo we love you

Posting Komentar