我正在尝试创建一个读取外部.txt文件并对其进行操作的程序。该文件有5组不同的数据,每组4行(2个是int,2个字符串)。我需要使用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>();
}
}
答案 0 :(得分:0)
确保在读取输入文件时,使用Scanner类的hasNext()方法。它会检测文件中是否还有一行,因此您无法到达文件末尾。像这样使用
// get file input
// this will make sure there are still lines left within the
// file and that you have not reached the end of the file
while(fileReader.hasNext()) {
int firstLine = fileReader.nextInt();
int secondLine = fileReader.nextInt();
String whiteSpace = fileReader.nextLine();
String thirdLine = fileReader.nextLine();
String fourthLine = fileReader.nextLine();
}
您需要使用上面提供的操作来执行您要查找的操作。
答案 1 :(得分:0)
以下是您可以遵循的步骤:
现在在Project1类中正确读取文件。 - &GT; Scanner Tutorial 和 Reading a txt file using scanner java
从文件中获取所有第一组数据后,将其传递给ProgramData类并创建类似
的实例 ProgramData pd1 = new ProgramData (/* list of parameter */)
将该ProgramData实例添加到Arraylist,如下所示
// Define Arraylilst
ArrayList<ProgramData > list= new ArrayList<ProgramData >();
// Do some operation like reading or collecting the data and creating object
// shown in step 4
list.add(pd1); // add new object of group to list.
我希望这会帮助您实现目标。如果您有任何疑问,请询问。祝你好运