【发布时间】:2013-09-24 22:57:29
【问题描述】:
我正在尝试制作一个读取外部 .txt 文件并对其进行操作的程序。该文件有 5 组不同的数据,每组 4 行(2 为 int,2 为 string)。我需要使用 Scanner 类读取文件,创建一个对象来保存每组数据(编写一个将数据组存储为单个对象的类(我们称之为 ProgramData))。然后我需要创建一个 ProgamData 对象并将其放入一个 ArrayList 中,并对 5 个组中的每一个重复此操作。
我有一个文本文件,我用扫描仪读入了它(我通过在命令行上打印确认我做到了这一点)。我从那里完全迷失了。任何帮助都将不胜感激。
这样不会有帮助,但到目前为止,这是我的代码:
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
public class Project1
{
public static void main (String[] args) throws IOException
{
File dataFile = new File("C:\\Users/data.txt");
Scanner fileReader = new Scanner(dataFile);
int firstLine = fileReader.nextInt();
int secondLine = fileReader.nextInt();
String whiteSpace = fileReader.nextLine();
String thirdLine = fileReader.nextLine();
String fourthLine = fileReader.nextLine();
ArrayList<String> newArray = new ArrayList<String>();
}
}
【问题讨论】:
-
您必须定义一个类
ProgramData并为文件中的每组数据创建它的实例。ArrayList应该是ArrayList<ProgramData>。我们不会为您编写代码,但这应该会为您指明正确的方向。 -
你需要标记你的字符串(它现在代表你的文本文件)。根据可预测的内容对其进行标记,例如逗号是否为 CSV,制表符是否为文本制表符分隔文件等。或者如果所有内容都在它自己的行上,则通过换行符进行标记(在 Windows 上为 \r\n,并且\n 在 *nix 上)
-
所以你已经完成了简单的部分......你需要对问题有一个最低限度的了解,并就具体的帮助寻求帮助,以便我们为你提供帮助。