Java文件扫描多行和变量类型

时间:2016-10-17 23:29:21

标签: java

尝试扫描具有多行,多种类型的变量和多个段的文件(可能不是描述它的最佳词?)

基本上这是我的文件输入(占位符以便更好地解释):

String1
int1
double1

String2
int2
double2

String3
int3
double3

我想知道读取这些数据的最佳方法是什么,以便它可以用在基本方程中。

我已经研究过使用Scanner,但似乎由于多行我可能更好地使用BufferedReader,然后将每一行从一个字符串转换成一个整数或一个double(如果需要)(或者我是否过于复杂?)

我之前有一些C ++的经验,但是除了基本的循环和数组之外,请尽量保持清晰和初学者证明。

1 个答案:

答案 0 :(得分:0)

因为你的文件是string,int,double,blank line,string,int,double,... 我们可以轻松地使用while循环。 制作3个包含相应字符串,整数和双精度数的Arraylists。

public static void main(String[] args){
    Scanner file = new Scanner(new File("file path here"));

    ArrayList<String> strings = new ArrayList<String>();
    ArrayList<Integer> ints = new ArrayList<Integer>();
    ArrayList<Double> doubles = new ArrayList<Double>();

    while(file.hasNextLine()){
        strings.add(file.nextLine());
        ints.add(Integer.parseInt(file.nextLine()));
        doubles.add(Double.parseDouble(file.nextLine()));
        if(file.hasNextLine())
            file.nextLine();
    }
    file.close();
}