使用Java 8流API,我想要一种方法来调用接受两个参数的引用方法。 splitFileByMaxRows
是引用方法,应以String
和int
作为参数。有什么办法可以实现?
private void breakLargeFileIntoChunks(final File setlFile, int parentFileId) {
LOG.info(LOG.isInfoEnabled() ? "*** Breaking Large File Into Chunks ***" : null);
try (Chunker chunker = new Chunker();
Stream<String> lines = Files.lines(Paths.get(setlFile.getAbsolutePath()))) {
lines.forEach(chunker::splitFileByMaxRows);
}
catch (IOException e) {
e.printStackTrace();
}
}
答案 0 :(得分:6)
您无法使用方法引用,因为您无法将int
参数传递给它。
因此,请改用lambda表达式:
lines.forEach(s -> chunker.splitFileByMaxRows(s,someInt));