判断文件类型代码块
private static final String FONT_TYPE_FILE = ".+(.eot|.svg|.ttf|.woff|.woff2)$";
if(fileName.matches(FONT_TYPE_FILE)){
System.err.println(filePath);
ServletOutputStream outputStream = response.getOutputStream();
InputStream fis = new BufferedInputStream(Utils.readInputStreamFromResource(filePath));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
response.reset();
response.setContentType("application/octet-stream");
outputStream.write(buffer);
outputStream.flush();
outputStream.close();
return;
}
读取文件流代码块
public static InputStream readInputStreamFromResource(String resource) throws IOException {
InputStream in = null;
try {
in = Thread.currentThread().getContextClassLoader().getResourceAsStream(resource);
if (in == null) {
return null;
}
return in;
} finally {
}
}
pom.xml 配置文件拷贝字体文件
<build>
<plugins>
<!-- 加入插件让字体文件不乱码 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
<nonFilteredFileExtension>eot</nonFilteredFileExtension>
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>/views/layui/font/iconfont.eot</exclude>
<exclude>/views/layui/font/iconfont.svg</exclude>
<exclude>/views/layui/font/iconfont.ttf</exclude>
<exclude>/views/layui/font/iconfont.woff</exclude>
<exclude>/views/layui/font/iconfont.woff2</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>/layui/font/iconfont.eot</include>
<include>/views/layui/font/iconfont.svg</include>
<include>/views/layui/font/iconfont.ttf</include>
<include>/views/layui/font/iconfont.woff</include>
<include>/views/layui/font/iconfont.woff2</include>
</includes>
</resource>
<resource>
<directory>src/main/java</directory>
<filtering>false</filtering>
<includes>
<include>***.xml</include>
</includes>
</resource>
<!--<resource>-->
<!--<directory>src/main/resources</directory>-->
<!--<includes>-->
<!--<include>**/**</include>-->
<!--</includes>-->
<!--<filtering>false</filtering>-->
<!--</resource>-->
</resources>
</build>