我正在尝试从Web应用程序(Tomcat 5.5.x)中读取CSV文件,而我得到的只是'FileNotFoundExceptions':
dbStatement.executeQuery("SELECT * FROM CSVREAD('csvfile.csv');");
我认为我不能/需要指定一个绝对路径(它将被部署到我无法访问的Linux / Tomcat服务器中)并且不确定必要的文件协议('jar:file' ,classpath:etc)。
该文件位于“** / WEB-INF / classes / csvfile.csv”
下关于我需要传递给CSVREAD()的路径结构的任何想法?
由于
富
答案 0 :(得分:2)
也许您可以尝试动态构建查询,首先使用ServletContext.getRealPath("/WEB-INF/classes/csvfile.csv")
检索完整路径。
答案 1 :(得分:1)
H2目前不支持从类路径加载文件。但是,您应该能够使用以下方式获取资源的URL:
String url = getClass().getClassLoader().getResource("csvfile.csv").toString();
然后您可以使用此URL(在我的情况下,它是以“file:”开头的URL),如下所示:
dbStatement.executeQuery("SELECT * FROM CSVREAD('" + url + "');");
(但我没有在网络应用中对此进行测试)