我希望使用一个单一的BufferedReader对象读取两个或更多文件中的文本。
这是我在代码中的实现方法。
这是我在代码中的实现方法。
Charset charset = Charset.forName("UTF-8");
Path p1 = Paths.get("sum1.csv");
List<String> list = new ArrayList<String>();
BufferedReader reader = Files.newBufferedReader(p1, charset);
try {
String line;
while((line = reader.readLine()) != null && !line.isEmpty()){
list.add(line);
}
} catch (IOException e) {
System.err.format("IOException: %s%n", e);
reader.close();
}
Path p2 = Paths.get("sum2.csv");
reader = Files.newBufferedReader(p2, charset);
try {
String line;
while((line = reader.readLine()) != null && !line.isEmpty()){
list.add(line);
}
} catch (IOException e) {
System.err.format("IOException: %s%n", e);
reader.close();
}
代码已经编译并成功运行。
处理此问题的标准方法是什么?是否可以使用单个 BufferedReader 读取两个或多个文件?
SequenceInputStream
有一个接受Enumeration
的构造函数。如果你在使用它时遇到困难,请开一个新问题。 - HolgerCollections.enumeration(List.of(is1, is2))
。 - Sridhar SarnobatStreamInputStream
接受一个Stream
,你可以用lambda表达式填充它。 - Holger