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

Java 从文本/数据文件读取数据的最佳方法是什么,java,object,io,Java,Object,Io,我试图将数据从TXT文件传递到对象数组。TXT文件如下所示: 4950331历史记录 37.5121.5---AS-5.21.0 8270000历史记录 51.10 12.80---EU-4.8 1.0 数据由空格分隔。所有内容都必须传输到对象 我强烈建议使用Apachecommons io软件包。不要重新发明轮子,只需使用库。这将把ArrayList中的所有内容打印到屏幕上: package mp1similar; import java.io.BufferedReader; impo

我试图将数据从TXT文件传递到对象数组。TXT文件如下所示:

4950331历史记录 37.5121.5---AS-5.21.0

8270000历史记录 51.10 12.80---EU-4.8 1.0


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

我强烈建议使用Apache
commons io
软件包。不要重新发明轮子,只需使用库。

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

 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();
    }

}

}
for(int i=0;i
问题是什么,什么不起作用?这是我收到的代码。我是java的新手,所以我的问题是:-我们是否将所有数据传输到Arraylist?如何以有组织的方式检索所有数据(在屏幕上显示或打印到其他文件)。第一列是日期,第二列是其他内容,依此类推使读取器获取下一行并将其打印出来。换句话说,不解析行。这是预期的行为吗?你可以忽略这一行,我只是想看看输出是什么。如果我可以问一下,你说的解析是什么意思?谢谢,让我研究一下在这种情况下可能更合适的解析方式。当我尝试导入org.apache.commons.io.FileUtils;我收到一个错误,说包不存在下载他们的JAR并首先将其添加到类路径:
    for(int i=0;i< arrayList.size();i++){
        System.out.println(arrayList.get(i));
    }