Meload Teks dari File


Meload teks dari file di Java tidaklah sesederhana pada bahasa pemrograman yang lain. Contohnya di C# kita bisa melakukan seperti jika akan meload teks dari file :

string s = System.IO.File.ReadAllText( path );

Tapi tidak dengan Java, butuh banyak kode yang harus kita buat jika meload data di Java

File file = new File("/home/echo/Desktop/contoh.txt");

FileReader fileReader = null;
BufferedReader reader = null;

try {
    fileReader = new FileReader(file);
    reader = new BufferedReader(fileReader);

    StringBuilder builder = new StringBuilder();
    String temp = null;

    while ((temp = reader.readLine()) != null) {
        builder.append(temp);
        builder.append("\n");
    }

    // hasil teks
    String text = builder.toString();

} catch (IOException e) {
} finally {
    if (fileReader != null) {
        try {
            fileReader.close();
        } catch (IOException ex) {
        }
    }
    if (reader != null) {
        try {
            reader.close();
        } catch (IOException ex) {
        }
    }
}

Lantas, kenapa tidak kita buat saja sebuah kelas utilitas untuk melakukan load teks dari file, sehingga jika kita akan meload teks dari file, akan lebih mudah dari pada kode diatas. Contoh sekarang saya membuat kelas StringLoader yang berisikan utilitas-utilitas untuk meload teks dari file.

/*
 *  Copyright 2010 Eko Kurniawan Khannedy.
 * 
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 * 
 *       http://www.apache.org/licenses/LICENSE-2.0
 * 
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package khannedy.learning;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

/**
 *
 * @author Eko Kurniawan Khannedy
 */
public class StringLoader {

    public static String loadText(String file) {
        return loadText(new File(file));
    }

    public static String loadText(File file) {
        FileReader reader = null;
        try {
            reader = new FileReader(file);
            return loadText(reader);
        } catch (FileNotFoundException e) {
            return null;
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException ex) {
                }
            }
        }
    }

    public static String loadText(FileReader file) {
        BufferedReader reader = null;
        try {
            reader = new BufferedReader(file);
            StringBuilder builder = new StringBuilder();
            String temp = null;
            while ((temp = reader.readLine()) != null) {
                builder.append(temp);
                builder.append("\n");
            }
            return builder.toString();
        } catch (IOException ex) {
            return null;
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException ex) {
                }
            }
        }
    }
}

Sekarang kita dapat meload teks dari file hanya dengan menggunakan perintah :

String teks = StringLoader.loadText("/home/echo/Desktop/contoh.txt");

Selamat mencoba… 😀

Iklan

7 pemikiran pada “Meload Teks dari File

  1. kang mau nanya . . . kalo flenya itu d simpen di variable cma pada bagian tertentunya aja bsa g y . . ? misal 2X^2+3X+4=0 isi filenya . . saya cma mau ambil var 2, 3, ama 4nya ja . . trimakasih . .

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s