我的问题:
我有这种结构的txt文件:
20:00 Norwich Res-Milton K.
2.45
3.30
2.45
20:30 Everton Res-Blackpool
2.24
3.25
2.73
我想要的是读取文本文件,并从内部数据创建对象。我需要的一个对象是ie。(一个对象的字段):
20:00 Norwich Res-Milton K. (String)
2.45 (double)
3.30 (double)
2.45 (double)
...
我从txt读取数据的方法:
public ArrayList<Match> getMatches(){
try{
File file = new File("matches.txt");
FileReader readerF = new FileReader(file);
BufferedReader reader = new BufferedReader(readerF);
String line = null;
while((line = reader.readLine()) !=null){
//here i dont know what to do
}
}
catch(Exception e){
JOptionPane.showMessageDialog(null, "");
}
return matches;
}
你有任何提示/技巧怎么做? 非常感谢您的回答
编辑:
我的匹配课程:
public class Match {
private String matchName;
private double course1;
private double courseX;
private double courseY;
public Match(String matchName, double course1, double courseX, double courseY){
this.matchName=matchName;
this.course1=course1;
this.courseX=courseX;
this.courseY=courseY;
}
}
答案 0 :(得分:2)
提示:"//here i dont know what to do"
的逻辑必须是这样的:
答案 1 :(得分:0)
试试这个(我假设输入文件有效,所以你可能需要处理异常):
public ArrayList<Match> getMatches(){
try{
File file = new File("matches.txt");
FileReader readerF = new FileReader(file);
BufferedReader reader = new BufferedReader(readerF);
String line = null;
String matchName = null;
double course1;
double courseX;
double courseY;
ArrayList<Match> matches = new ArrayList<>();
int count = 0;
while((line = reader.readLine()) !=null){
if (count%4 == 3) {
Match match = new Match(line, course1, courseX, courseY);
matches.add(match);
} else if (count%4 == 2) {
courseY = Double.parseDouble(line);
} else if (count%4 == 1) {
courseX = Double.parseDouble(line);
} else {
course1 = Double.parseDouble(line);
}
count++;
}
}
catch(Exception e){
JOptionPane.showMessageDialog(null, "");
}
return matches;
}