将文件读取到数组,然后将数组存储到ArrayList Java中

将文件读取到数组,然后将数组存储到ArrayList Java中,java,iteration,readfile,Java,Iteration,Readfile,大家好吗。我试图读取一个文件,并将该文件中的每个字符串存储到数组中的一个元素中。问题是,我无法移动到下一行数据。我假设这是我需要使用ArrayList的时候,但我很难弄清楚如何迭代每行上的每个文本并将其存储到元素中,然后再移动到下一行。我希望每个数据都存储在自己的元素中。另外,我如何调用存储在该元素中的数据?这是我的密码: Scanner readPayrollData = new Scanner(new FileReader ("employeeData.dat")); String[] e

大家好吗。我试图读取一个文件,并将该文件中的每个字符串存储到数组中的一个元素中。问题是,我无法移动到下一行数据。我假设这是我需要使用ArrayList的时候,但我很难弄清楚如何迭代每行上的每个文本并将其存储到元素中,然后再移动到下一行。我希望每个数据都存储在自己的元素中。另外,我如何调用存储在该元素中的数据?这是我的密码:

Scanner readPayrollData = new Scanner(new FileReader ("employeeData.dat"));

String[] employee = new String[3];

ArrayList<String> data = new ArrayList<String>();

while(readPayrollData.hasNextLine())
{
    for(int i = 0; i < employee.length; i++)
    {   
        readPayrollData.hasNext();
        employee[i] = readPayrollData.next();       
    }

    readPayrollData.hasNextLine();          
    data.add(employee);
}

System.out.println(data);   
readPayrollData.close();
Scanner readPayrollData=新扫描仪(新文件阅读器(“employeeData.dat”);
字符串[]employee=新字符串[3];
ArrayList数据=新的ArrayList();
while(readPayrollData.hasNextLine())
{
for(int i=0;i
ArrayList list=new ArrayList();
扫描仪填充=空;
试一试{
infle=新扫描仪(新文件(“textfile.txt”);
}catch(filenotfounde异常){
e、 printStackTrace();
}
while(infle.hasNextLine()){
list.add(infle.nextLine());
}
列出员工=新建ArrayList();
扫描仪fin=null;
试一试{
fin=新扫描仪(新文件(“employeeData.dat”);
}捕获(例外e){
System.out.println(“无法打开文件”);
e、 printStackTrace();
}
while(fin.hasNextLine()){
employee.add(fin.nextLine());
}
fin.close();

查看有关如何使用扫描仪浏览文件内容的链接。对不起,我对编程还不熟悉。你能解释一下这个代码是如何工作的吗?数组列表将用于存储字符串变量。i、 e文件的每一行。数组列表将用于存储字符串变量。fin将读取该文件。我正在用try-and-catch块读取该文件,因为如果发生错误并且由于某种原因无法读取该文件,那么程序流将转换为catch-blow,“e.printStackTrace();”将告诉您该文件未被读取的原因。while循环基本上是检查文件的下一行是否存在任何信息,这种情况一直发生,直到它变为false并退出循环。add()方法,将字符串添加到数组列表对不起,while循环检查当前行上是否存在任何信息,而不是下一行上是否存在任何信息对不起,但我是编程新手。你能解释一下这个代码是如何工作的吗?数组是一个数据列表。数组的大小是固定的;我们必须在初始化它时声明它的大小。ArrayList是动态的。我们可以在ArrayList中添加任意数量的项。在上面的代码中,我声明了一个String类型的ArrayList。我创建了一个扫描仪,它接收具有给定文件名的文件。Scanner类有一个名为.hasNextLine()的方法,用于检查当前Scanner对象是否仍有输入。循环中的代码将扫描仪的下一行添加到ArrayList。
ArrayList<String> list = new ArrayList<String>();

Scanner inFile = null;
try {
inFile = new Scanner(new File("textfile.txt"));
} catch (FileNotFoundException e) {

e.printStackTrace();
}

while(inFile.hasNextLine()){
    list.add(inFile.nextLine());
}
List<String> employee=new ArrayList<>();
Scanner fin=null;
try{
fin=new Scanner(new File("employeeData.dat"));
}catch(Exception e){
System.out.println("unable to open file");
e.printStackTrace();
}

while(fin.hasNextLine()){
employee.add(fin.nextLine());
}

fin.close();