Spring MVC应用程序的默认资源文件夹

时间:2014-05-21 14:32:19

标签: java file spring-mvc

我需要读取Spring MVC应用程序中控制器内的文件。 什么是我可以放置文件然后在我的控制器中的默认位置,我可以执行以下操作:

@RequestMapping(value="/")
public ModelAndView test(HttpServletResponse response) throws IOException{  

        File file = new File("simple_file_name_without_any_path_information.txt");

            // reading in the file ....
}

我需要做任何其他配置才能使其正常工作吗? 我尝试将该文件放在webapp \ resources或webapp \ WEB-INF或普通的webapp下。

这些选项都不起作用。

1 个答案:

答案 0 :(得分:1)

使用java.io.File,默认路径将是启动路径,在您的情况下,它可能是应用程序服务器的/ bin文件夹(请参阅In Java, what is the default location for newly created files?)。

您可能想要尝试使用Google Guava的Resources.getResource(" your_file.txt"),它会在类路径上查找,如果文件中有文件,则会找到该文件资源文件夹。然后,您还可以使用Resources.readLines(url,Charsets.UTF_8)来读取它。

幕后工作(如果你不想使用图书馆)基本上是:

ClassLoader loader = Objects.firstNonNull(
    Thread.currentThread().getContextClassLoader(),
    Resources.class.getClassLoader());
URL url = loader.getResource(resourceName);

然后,您可以使用该URL创建File对象。