七、创建一个自定义类WorldCup有三个属性,分别存放年份,举办国,胜利国 从message.txt里面读取内容,放到ArrayList<WorldCup> list集合里面 要求使用InputStream和转换流InputStreamReader、BufferedReader进行读取 1930,乌拉圭,乌拉圭 1934,意大利,意大利 1938,法国,意大利 1950,巴西,乌拉圭 1954,瑞士,德国 1958,瑞典,巴西 1962,智利,巴西 1966,英格兰,英格兰 1970,墨西哥,巴西 1974,德国,德国 1978,阿根廷,阿根廷 1982,西班牙,意大利 1986,墨西哥,阿根廷 1990,意大利,德国 1994,美国,巴西 1998,法国,法国 2002,韩国和日本,巴西 2006,德国,意大利 2010,南非,西班牙 2014,巴西,德国
时间: 2023-09-20 17:11:03 浏览: 117
如何向WebServices中传送多个自定义类对象
5星 · 资源好评率100%
好的,我会为你创建一个自定义类WorldCup,并将内容从message.txt读取到ArrayList<WorldCup>列表中。以下是代码实现:
```java
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
class WorldCup {
private int year;
private String hostCountry;
private String winnerCountry;
public WorldCup(int year, String hostCountry, String winnerCountry) {
this.year = year;
this.hostCountry = hostCountry;
this.winnerCountry = winnerCountry;
}
public int getYear() {
return year;
}
public String getHostCountry() {
return hostCountry;
}
public String getWinnerCountry() {
return winnerCountry;
}
}
public class Main {
public static void main(String[] args) {
ArrayList<WorldCup> list = new ArrayList<>();
try {
InputStream inputStream = new FileInputStream("message.txt");
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line;
while ((line = bufferedReader.readLine()) != null) {
String[] data = line.split(",");
int year = Integer.parseInt(data[0]);
String hostCountry = data[1];
String winnerCountry = data[2];
WorldCup worldCup = new WorldCup(year, hostCountry, winnerCountry);
list.add(worldCup);
}
bufferedReader.close();
inputStreamReader.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
// 打印列表中的世界杯信息
for (WorldCup worldCup : list) {
System.out.println("年份:" + worldCup.getYear());
System.out.println("举办国:" + worldCup.getHostCountry());
System.out.println("胜利国:" + worldCup.getWinnerCountry());
System.out.println();
}
}
}
```
请确保在运行代码之前,将`message.txt`文件放在与Java文件相同的目录下,并且文件内容与你提供的一致。代码将会读取文件内容,并将每一行解析为一个WorldCup对象,然后将其添加到ArrayList列表中。最后,代码会遍历列表并打印出每个世界杯的信息。
希望对你有帮助!如果有任何疑问,请随时问我。
阅读全文