[英]Java: Handling a stream to read from file
对于我大学的一个实验室,我正在用Java开发一个系统,该系统能够存储来自文件的数据(给定文件路径为String)。 我试图使用路径中的一行流来处理问题,但是我在早期阶段陷入了困境。 该文件的组织方式如下:一行的不同字段用“;”分隔。 每行以“ P”或“ D”开头。 根据此参数,我将使用该行的内容来创建“患者”对象或“医生”对象,然后将其存储在两个不同的地图(患者或医生)中。 我做了以下工作:
Path p= Paths.get(path);
Stream <String> lines=Files.lines(p, StandardCharsets.UTF_8);
lines.flatMap(l->Stream.of(l.split("; ")))....
我的想法是检查该行开头的单词,并据此将其余元素用作能够创建和存储相应对象(insertPatient或insertDoctor)的方法的参数。 但是我还不知道如何做到这一点。 我知道有不同的方法可以做到这一点,但是我真的想至少在读取不同行的过程中使用流来开发解决方案。 谢谢,詹卢卡。
try (Stream<> lines = Files.lines(p, StandardCharsets.UTF_8)) { // 1
lines.map(line -> line.split(";")) // 2
.forEach(lineAsArray -> {
if (lineAsArray[0].equals("D")) {
insertDoctor(lineAsArray);
}
else if (lineAsArray[0].equals("P")) {
insertPatient(lineAsArray);
}
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.