spring expression read file content
Asked Answered
S

2

11

How to use spring expression to read file content and put it into a string?

I would like to do the following.

For example,

@Value("classpath:myquery.sql")
File f;

@Value("#{org.apache.commons.io.FileUtils.readFileToString(f)}")
String sql;

Or even better

@Value("#{FileUtils.readFileToString(classpath:myquery.sql)}")
String sql;

However, none of above code work.

Just to mention I am using spring version 3.2.0

Thanks.

Slip answered 1/2, 2013 at 3:23 Comment(0)
S
24

Finally got the answer myself...

@Value("#{T(org.apache.commons.io.FileUtils).readFileToString(" +
    "T(org.springframework.util.ResourceUtils).getFile('classpath:myquery.sql')" +
    ")}")
String sql;

sql is now default filled by the exact content of myquery.sql under classpath

Slip answered 4/2, 2013 at 1:54 Comment(0)
R
6

There is a similar question answered here which use Java configuration.

@Configuration
public class Spring {

    @Value("classpath:choice-test.html")
    private Resource sampleHtml;

    @Bean
    public String sampleHtmlData() {
        try(InputStream is = sampleHtml.getInputStream()) {
            return IOUtils.toString(is);
        }
    }
}
Regret answered 18/1, 2015 at 16:14 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.