การอ่านข้อมูลจาก Text File

เป็นตัวอย่าง Code การอ่านข้อมูลจาก Text file ที่ใช้งานอยู่ครับ นอกจากต้องอ่านข้อมูลมาเก็บไว้ใน ArrayList ก่อนจากนั้นค่อยนำไปประมวลผลครับ

/**
 * File Name : ReadTextFile.java
 * Created Date : Nov 9, 2009 : 10:04:38 AM
 * Copyright © 2009 www.fun4station.com
 */
package com.fun4station.example;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 * @Author Supot Saelao 
 * @Version 1.0
 */
public class ReadTextFile {

	public static void main(String[] args) {
		ReadTextFile file = new ReadTextFile();
		List<String> dataList = file.readFileToArrayList("C:/data/test.txt");	
		//Process data
	}
	
	private List<String> readFileToArrayList(String fileName){
		
		List<String> dataList = new ArrayList<String>();
		String fullPath = fileName; // แก้ไขตาม Comment
		String recordsData = null;
		BufferedReader dataIns = null;
		try {			
			if (fileExist(fullPath)) {		
				dataIns = new BufferedReader(new FileReader(fullPath));					
				while ((recordsData = dataIns.readLine()) != null) {			
					dataList.add(recordsData);
				}
			}
		} catch (IOException e) {
			e.printStackTrace();
		} catch (Exception ex){
			ex.printStackTrace();
		}finally{
			if(dataIns != null){
				try {
					dataIns.close();
				} catch (IOException e) {}
			}
		}
		return dataList;
	}
	
	private boolean fileExist(String filename) {
		try {
			File file = new File(filename);
			return (!file.isDirectory() && file.exists());
		} catch (Exception ex){
			return false;
		}
	}
}

หมายเหตุ :
1. นอกจาก BufferedReader แล้วยังมี Class อื่นๆที่ใช้ในการอ่าน Text file อีกครับ
2. ใครมีวิธีที่ดีกว่านี้ และให้ Performance ที่ดีกว่านี้ก็แนะนำได้นะครับ

  1. tnk kub ^O^

    • abcdef28
    • February 7th, 2010

    ต้องเปลี่ยนจาก String fullPath = null; เป็น String fullPath = fileName; ด้วยนะคะ

  2. ขอบคุณครับ สำหรับการตรวจทาน

  1. No trackbacks yet.