【发布时间】:2014-01-13 09:13:17
【问题描述】:
我正在构建一个 Vaadin(基本上是可编译为 html/javascript 的 Java)项目,并且正在尝试导入一个模板(基本上是一个 HTML 文件)。出于所有意图和目的,我只是将文件作为输入流导入。这是有问题的代码:
File file = new File("C:/JavaProjects/VaadinSpikeWorkspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/CISTVaadinClient/VAADIN/themes/layoutsinteractionDetailsTabLayout.html");
InputStream is = null;
CustomLayout custom = null;
try {
is = new FileInputStream(file);
} catch (FileNotFoundException e1) {
System.out.println("mark 1");
e.printStackTrace();
}
try {
custom = new CustomLayout(is);
} catch (IOException e) {
System.out.println("mark 2");
e.printStackTrace();
}
我在做什么:
- 将 Vaadin 项目(基本上是一个带有一些额外 .jar 的动态 Web 项目)部署到 tomcat 并使用我的浏览器访问 thVe aadin 项目
我所看到的:
- 我的浏览器中的一个空白屏幕
- 找不到文件异常(即“标记 1”)
- 结果:IOException(即“Mark 2”)
我检查过的内容:
- 该文件肯定会与项目的其余部分一起部署到 tomcat
- 在 webapps 文件夹之外,我尝试导入的文件在部署后可通过浏览器访问(即 Localhost/myProject/MyFile.html)
- Tomcat 安装正常(这是全新安装,可与此问题/其他项目一起使用)
我尝试过的
- 使用相对 URL,或仅使用文件名(即 New File("../webapps/vaadin/layouts/MyFile.html"))
- 使用项目目录的绝对路径
- 使用部署目录的绝对路径(如上)
- 将文件放在其他地方(阅读:项目中每个可能的位置)
再次,我试图简单地读取文件 MyFile.html 作为输入流。我在做什么错/忽略?
感谢您的宝贵时间。
【问题讨论】:
-
将文件拖放到命令提示符中,以便获取路径,或在 Windows 资源管理器中右击并获取属性(我看到 c: 所以它的 windows?),然后使用记事本/文本板将所有 \ 替换为 / 或转义 \\