steve1337:
私はいくつかのデータを持つファイルは、セミコロンで区切られています。私は、行毎にファイルを読み取られたデータのすべての列を分離して、新しいオブジェクトにマップされますストリームを構築しようとしています。
data.txtを:
John;Smith;42;shopassistant
Clara;Lefleur;24;programmer
Person.class:
public class Person{
String name;
String lastName;
int age;
String job;
}
私はこのような何かを開始しました:
List<Person> people = Files.lines(Paths.get("src/data.txt"))....
何か案は?
ユージン:
AはScanner
この仕事のために、より有用であろう、そして以来、java-9
これは仕事に非常に良くしています。
Pattern p = Pattern.compile("^(\\w+);(\\w+);(\\w+);(\\w+)$", Pattern.MULTILINE);
List<Person> persons = new Scanner(Paths.get("src/data.txt"))
.findAll(p)
.map(mr -> new Person(mr.group(1), mr.group(2), Integer.valueOf(mr.group(3)), mr.group(4)))
.collect(Collectors.toList());