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
添加回答
舉報