scala - 如何从pdf文件列表中获取总页数
问题描述
我有 5 个 pdf 文件的列表,每个文件包含 20 页(假设)。我必须得到所有文件的总页数。答案将是 100 页。
我试过这个:
val totalNumberOfFile = new File(uploadFolderPath)
val fileList = totalNumberOfFile.listFiles()
val totalPages = fileList.map(file => PDDocument.load(file).getNumberOfPages).sum
它给了我所需的答案,但我的问题是:-这是在 scala 中执行此操作的最佳方法吗
解决方案
例如,考虑scala.util.Using
自动资源管理和错误处理
scala.util.Using.Manager { use =>
(new File(uploadFolderPath))
.listFiles()
.filter(_.getName.endsWith(".pdf"))
.map(file => use(PDDocument.load(file)).getNumberOfPages)
.sum
} match {
case Success(sumOfPages) => println(sumOfPages)
case Failure(error) => println("Failed to determine sum of pages", error)
}
推荐阅读
- spring - Spring Data repository:将获取大小设置为参数
- react-admin - 通过
- 将值过滤到操作组件 (REACTADMIN)
- statistics - 线性回归中相关系数与相关确定的相关系数
- python-3.x - AWS弹性beantalk部署总是失败(上传一个zip文件)
- mitmproxy - 检查服务器连接事件 mitmproxy 上的远程服务器证书
- amazon-web-services - 如何通过 Cloudformation 模板为 AWS API GW 启用 Cloudwatch 日志记录
- git - Git 显示子模块修订
- python - 如何使用 python 中的 zipfile 库将 ZipFile 存储在 ZipFile 中
- symfony - KnpPaginatorBundle 中的自定义排序查询
- java - iText 字体设置为短语未反映