尝试扫描具有多行,多种类型的变量和多个段的文件(可能不是描述它的最佳词?)
基本上这是我的文件输入(占位符以便更好地解释):
String1
int1
double1
String2
int2
double2
String3
int3
double3
我想知道读取这些数据的最佳方法是什么,以便它可以用在基本方程中。
我已经研究过使用Scanner,但似乎由于多行我可能更好地使用BufferedReader,然后将每一行从一个字符串转换成一个整数或一个double(如果需要)(或者我是否过于复杂?)
我之前有一些C ++的经验,但是除了基本的循环和数组之外,请尽量保持清晰和初学者证明。
答案 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();
}