- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个奇怪的问题:
在 src/main/resources 我有一个“template.xlsx”文件。
如果我这样做:
InputStream is = new ClassPathResource("template.xlsx").getInputStream();
或者这个:
InputStream is = ClassLoader.getSystemResourceAsStream("template.xlsx");
或者这个:
InputStream is = getClass().getResourceAsStream("/template.xlsx");
当我尝试创建工作簿时:
Workbook wb = new XSSFWorkbook(is);
我收到这个错误:
java.util.zip.ZipException: invalid block type
但是,当我得到这样的文件时:
InputStream is = new FileInputStream("C:/.../src/main/resources/template.xlsx");
有效!
怎么了?我无法对文件的完整路径进行硬编码。
有人可以帮我解决这个问题吗?
谢谢
最佳答案
我遇到了同样的问题,你可能遇到了 maven 过滤的问题。
此代码从源加载文件,未过滤
InputStream is = new FileInputStream("C:/.../src/main/resources/template.xlsx");
这段代码在maven过滤内容后从目标目录加载文件
InputStream is = getClass().getResourceAsStream("/template.xlsx");
您不应像本页底部所述那样过滤 excel 之类的二进制文件并使用两个互斥的资源集 maven resources plugin
关于java - FileInputStream vs ClassPathResource vs getResourceAsStream 和文件完整性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9840631/
springboot工具类中读取配置文件 1、创建配置文件(application.properties) ?
在我的应用程序中,我想使用文件夹中存在的资源 media/src/main/resources/testMediaExif 为了获得该路径,我使用了位于 media/src/main/java/com
这个问题已经有答案了: BeanFactory vs ApplicationContext (22 个回答) 已关闭 8 年前。 以下两条语句显然都是用于加载 xml 配置,但它们之间有什么区别? A
我正在 Spring 迈出第一步。在我的项目中,我需要使用 SOAP HTTPS Web 服务。我添加了JKSKeyManager用于测试配置 xml 和 ClassPathResource 的 be
我正在尝试检索类路径中的文件列表,但 Spring 返回的是 FileSystemResources 的 Resource[] 而不是 ClassPathResources。代码如下所示: PathM
更新:我仍然会将 Artem Bilan 的答案标记为正确,但我仍然觉得我需要向 future 的读者指出这一点。看来我误解了 @Value 注释的“默认值”的概念。我希望通过使用实现的功能 @Val
我的 Web 应用程序使用 Spring 4.3.5。我们需要从 jar 本身加载一个存储在我们的 JAR 类路径之一中的 Freemarker 模板。 让我尽量概括一下我的场景(稍后我会提供代码)
使用 Spring 引导。我正在尝试使用 Apache POI 库解析项目中本地存储的 Excel 文件。我的目录结构是这样的: 源代码 主要内容 java com.app Controller 型号
在我的 Spring Boot 1.5 应用程序中,我使用 ClassPathResource 读取应用程序 JAR 的静态文件: // ... import org.springframework.
我们在一个驱动器上有一个文件 (C:\megzs\realm.properties)。我们想加载此文件并使用 Spring 中可用的 ClassPathResource 读取内容。但是我们看到文件未找
ClassPathResource.getFile() 抛出 FileNotFoundException。这是代码片段: ClassPathResource emsInitResource =
我已经为以下问题苦苦挣扎了两天,但无法解决它。 我正在尝试在 Spring Boot Rest 应用程序中提供静态 pdf。它应该非常简单,但我就是无法让它工作。 首先,我只是将 pdf 放在资源文件
如何使用自定义 .properties 文件为不同的环境(生产、开发、暂存)配置 PropertySourcesPlaceholderConfigurer?在部署 spring 时抛出“无法解析字符串
我有一个奇怪的问题: 在 src/main/resources 我有一个“template.xlsx”文件。 如果我这样做: InputStream is = new ClassPathResourc
我在该位置有文件 --src --> main --> config --> application --> context --> reference
我正在尝试从 jar 文件加载 message.properties 文件,但它没有找到该文件(我已经尝试了几个小时)。 messages/mes
我正在将项目从基于 xml 的配置迁移到基于 java 的配置。 我能够成功定义除一个之外的所有 bean。XMLViewResolver我们使用的是 JasperReports,因此所有 jrxml
我需要能够从 Spring Boot 模板生成 PDF。为此,我使用 PDF 渲染库 (FlyingSaucer),它基本上可以正确完成工作。然而,存在一个问题:当页面上有“href”标签时,当 PD
我拥有所有必需的 JAR。尽管面临以下问题: java.lang.ClassCastException: org.drools.io.impl.ClassPathResource cannot be
我是一名优秀的程序员,十分优秀!