【问题标题】:Read file to Array then store Array into ArrayList Java将文件读取到 Array,然后将 Array 存储到 ArrayList Java
【发布时间】:2014-03-02 05:40:45
【问题描述】:

大家过得怎么样。我正在尝试读取一个文件并将该文件中的每个字符串存储到数组中的一个元素中。问题是,我无法移动到下一行数据。我假设那是我需要使用 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();

【问题讨论】:

标签: java iteration readfile


【解决方案1】:
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());
}

【讨论】:

  • 对不起,我是编程新手。你能解释一下这段代码是如何工作的吗?
  • 数组是数据的列表。数组的大小是固定的;我们必须在初始化它时声明它的大小。 ArrayList 是动态的。我们可以向 ArrayList 添加任意数量的项目。在上面的代码中,我声明了一个 String 类型的 ArrayList。我创建了一个扫描仪,它接收具有给定文件名的文件。 Scanner 类有一个名为 .hasNextLine() 的方法,用于检查当前的 Scanner 对象是否仍有输入。循环内的代码将 Scanner 的下一行添加到 ArrayList。
【解决方案2】:
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();

【讨论】:

  • 对不起,我是编程新手。你能解释一下这段代码是如何工作的吗?
  • 数组列表将用于存储字符串变量。即文件的每一行。
  • 数组列表将用于存储字符串变量。 fin 将读取文件。我在 try and catch 块中读取文件,因为如果发生错误并且由于某种原因无法读取文件,那么程序流程将转移到 catch 打击和“e.printStackTrace();”会告诉你为什么文件没有被读取。 while 循环基本上是检查文件的下一行是否存在任何信息,这种情况一直在发生,直到它变为 false 并退出循环。 add() 方法,将字符串添加到数组列表中
  • 抱歉,while 循环检查是否有任何信息出现在 当前行它是打开的,不在下一行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-09
  • 2015-01-28
  • 1970-01-01
  • 2014-11-13
  • 1970-01-01
  • 2015-02-04
相关资源
最近更新 更多