我正在尝试加载一个格式如下的文本文件:
int String int
int String int
int String int
我想要做的是阅读三个值并将它们放入构造函数
我这样解决问题的方法就是简单地做
int t = infile.nextInt();
String d = infile.nextLine();
int p = infile.nextInt();
Entry e = new Entry(t,d,p);
然而,这只有在t,d和p在不同的行上时才有效,因为nextInt()和nextLine()
我的问题是,如何从同一行读取3个值,然后转到下一行?
答案 0 :(得分:3)
解析它:
int t = infile.nextInt(); //reads int
String d = infile.next(); //reads the next String before a blank space " "
int p = infile.nextInt(); //reads int
Entry e = new Entry(t,d,p); //use your data
infile.nextLine(); //read the line escape "\n" or "\r\n"
答案 1 :(得分:2)
我会将整行读取为String,在空白处对其进行标记,并将这三个值解析为适当的类型:
String line = infile.nextLine();
String [] tokens = line.split("\\s+");
int v1 = Integer.parseInt(tokens[0]);
String v2 = tokens[1];
int v3 = Integer.parseInt(tokens[2]);
Entry e = new Entry(v1, v2, v3);