3 回答

TA贡献1891条经验 获得超3个赞
您可以使用Files.readAllLines()方法并将数据映射到专用对象。假设您有这样Room的对象和适当的构造函数,您可以读取和存储数据,例如:
List<String> strings = Files.readAllLines(Paths.get("test.txt"));
List<Room> rooms = new ArrayList<>();
for (String line : strings) {
String[] split = line.split(",");
Integer roomNumber = Integer.valueOf(split[0]);
String roomType = split[1];
Double roomCost = Double.valueOf(split[2]);
Integer amount = Integer.valueOf(split[3]);
String bathroom = split[4];
Room r = new Room(roomNumber, roomType, roomCost, amount, bathroom);
rooms.add(r);
}
然后您可以通过房间号获取某些房间的信息:
Room room = rooms.stream()
.filter(r -> r.getRoomNumber() == 102)
.findFirst().orElseThrow(NoSuchElementException::new);
注意:如果你使用的是java10或以上,你可以orElseThrow()不带参数使用

TA贡献1757条经验 获得超7个赞
您可以用逗号分隔行,并获取值数组:
try{
BufferedReader reader = new BufferedReader(new FileReader("test.txt"));
String line = reader.readLine();
String data[] = null;
while (line != null){
System.out.println(line);
line = reader.readLine();
data = line.split(","); //data will have the values as an array
}
reader.close();
} catch(IOException ex){
System.out.println(ex.getMessage());
}

TA贡献1829条经验 获得超9个赞
如果我没有错,那么所描述的格式是 csv 格式(https://en.wikipedia.org/wiki/Comma-separated_values)
这是一个很好的概述如何读取 csv 数据:
https://www.baeldung.com/java-csv-file-array
添加回答
举报