Разбор и чтение данных из текстового файла
У меня есть данные в моем текстовом файле в следующем формате
apple fruit
carrot vegetable
potato vegetable
Я хочу прочитать эту строку построчно и разделить на первый пробел и сохранить его в наборе или на карте или в любой подобной коллекции Java. (ключ и значение пары)
пример:-"apple fruit"
должны храниться на карте, где key = apple
а такжеvalue = fruit
,
3 ответа
Вы можете сделать что-то вроде этого:
BufferedReader br = new BufferedReader(new FileReader("file.txt"));
String currentLine;
while ((currentLine = br.readLine()) != null) {
String[] strArgs = currentLine.split(" ");
//Use HashMap to enter key Value pair.
//You may to use fruit vegetable as key rather than other way around
}
С Java 8 вы можете просто сделать
Set<String[]> collect = Files.lines(Paths.get("/Users/me/file.txt"))
.map(line -> line.split(" ", 2))
.collect(Collectors.toSet());
если вы хотите карту, вы можете просто заменить Collectors.toSet на Collectors.toMap()
Map<String, String> result = Files.lines(Paths.get("/Users/me/file.txt"))
.map(line -> line.split(" ", 2))
.map(Arrays::asList)
.collect(Collectors.toMap(list -> list.get(0), list -> list.get(1)));