什么是从文本/数据文件中读取数据的最佳方法

时间:2012-02-05 21:23:49

标签: java object io

 package mp1similar;

 import java.io.BufferedReader;
 import java.io.FileNotFoundException;
 import java.io.FileReader;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.StringTokenizer;
 import java.util.logging.Level;
import java.util.logging.Logger;

public class MP1Similar 
{

private static ArrayList arrayList  ;

public static void main(String[] args) 
{
 ArrayList arrayList= null;
    try 
    {
    BufferedReader br = new BufferedReader(new FileReader("data/Catalog.txt"));

    String line="";
    arrayList =new ArrayList();
    while((line = br.readLine())!=null)
        {
      //  System.out.println(line);
        StringTokenizer st = new StringTokenizer(line);
        while(st.hasMoreTokens())
            {
            //System.out.println(st.nextToken());
            arrayList.add(st.nextToken());
            System.out.println(br.readLine());
            }
        }
    }

    catch (FileNotFoundException ex)
    {
         System.out.println(ex.getMessage());
         ex.printStackTrace();
    }
catch (IOException ex)
    {
          System.out.println(ex.getMessage());
          ex.printStackTrace();
    }

}

}

我正在尝试将数据从TXT文件传递到对象数组。 TXT看起来像这样:

4950331 hist     37.5 121.5 --- AS - 5.2 1.0

8270000 hist     51.10 12.80 ---欧盟 - 4.8 1.0

数据由空格分隔。所有内容都必须转移到对象。

2 个答案:

答案 0 :(得分:1)

我强烈建议您使用Apache commons-io包中的FileUtils.readFileToString()。不要重新发明轮子,只需使用库。

答案 1 :(得分:1)

这会将ArrayList中的所有内容打印到屏幕:

    for(int i=0;i< arrayList.size();i++){
        System.out.println(arrayList.get(i));
    }