上篇我们实现了把字符串中的${}转换成对应的值,这次我们就处理一下文件中的${}吧。

其实处理文件的${}和处理字符串中的类似,因为文件也是由一行行的字符串组成的。话休絮烦。我们开工。

同StringResource类似,我们新建一个FileResource类,它也继承自Resource。它的构造参数里需要传入一个文件路径,生成的文件名在源文件名后追加_out,(后期可以做成把生成的文件放到另外一个目录下)。

它的核心方法是doFilter(),处理办法是,每次从文件流中取一行数据,把它转换并转存到目录文件中。

处理文件的一个问题是换行符的问题,及最后一行没有换行符的处理(我为了省事,就强制在文件末尾添加一个换行符)。

代码见https://gitee.com/valuetodays/mvn-all/tree/master/resource-filter

最后说一句,该功能可能并没有想像中的那么有用——功能也比较单一,无法和其它功能一起使用,但是相信走出这一步只是一个开端