SpringBoot - 从application.properties

时间:2017-07-14 11:30:01

标签: java spring spring-boot

我正在编写一个控制器,它将从位于“临时”文件中的.txt文件中下载文本。文件夹并在页面上显示。 我是通过使用扫描仪的简单方法完成的 -

   @GetMapping("/file")
   @ResponseBody
   public String loadFile() throws FileNotFoundException {
    String test;
    Scanner br = new Scanner(new FileReader("/example/temp/temp.txt"));

    StringBuilder sb = new StringBuilder();
    while (br.hasNext()) {
        sb.append(br.next());
    }
    br.close();
    test = sb.toString();

    return test;
}

但应从application.properties文件下载文件路径。任何人都知道我应该使用什么?我正在使用SpringBoot 1.5.3。

2 个答案:

答案 0 :(得分:0)

你可以试试这个

        @Value("${key that placed in property file}")
        private String file;

        @GetMapping("/file")
        @ResponseBody
        public String loadFile() throws FileNotFoundException {
         String test;
         Scanner br = new Scanner(new FileReader(file));

         StringBuilder sb = new StringBuilder();
         while (br.hasNext()) {
             sb.append(br.next());
         }
         br.close();
         test = sb.toString();

         return test;
     }

答案 1 :(得分:0)

最佳解决方案:

上面的答案很好,但要创建更好的代码,请使用文件而不是字符串

    @Value("${key that placed in property file}")
    private File file;

    @GetMapping("/file")
    @ResponseBody
    public String loadFile() throws FileNotFoundException {
     String test;
     Scanner br = new Scanner(new FileReader(file));

     StringBuilder sb = new StringBuilder();
     while (br.hasNext()) {
         sb.append(br.next());
     }
     br.close();
     test = sb.toString();

     return test;
 }