如何在读取ArrayList之前确定磁盘文件中的类型?

时间:2017-12-08 17:30:03

标签: java

如果我使用

读取文件
$foo = my_function($file_line[$index]);

之后,我怎么能够确定它是哪种类型,所以我可以把它读成同一类型的arraylist?当你知道它是哪种类型如int

时,它会更容易
Scanner in = new Scanner(new File(diskFile));

但如果我不知道文件类型是String,int,double等,我怎么能将它们添加到相同类型的ArrayList中?所以我的解决方案是在将它添加到ArrayList之前找出类型,但我不知道如何做到这一点。

1 个答案:

答案 0 :(得分:1)

假设输入文件中每行有一个未知值,我建议您将其作为String读取,然后使用常用类型提供的简单解析器测试字符串值。您可以通过捕获异常进行测试。以下是Integer的示例。

        int newData = 0;
        boolean haveInt = true;
        try {
                 newData = Integer.parseInt(theInputString);
        } catch (NumberFormatException e) {
            haveInt = false;
        }
        if (haveInt) {
           intArrayList.add(newData);
        }