【发布时间】:2016-08-23 20:39:16
【问题描述】:
我正在创建一个 Web 应用程序,在用户注册后,我想创建一个以该用户名命名的 html 文件(即 joebloggs123 是用户名,因此 html 文件是 joebloggs123.html)。我想使用模板 html 文件,因为它会在创建时涵盖用户的基本配置文件内容。 到目前为止,我有以下内容:
File htmlTemplateFile = new File("/Convocast-war/web/userTemplate.html");
String htmlString = FileUtils.readFileToString(htmlTemplateFile);
String title = username + "'s Profile";
htmlString = htmlString.replace("$title", title);
File newHtmlFile = new File("/userPages/" + username + ".html");
FileUtils.writeStringToFile(newHtmlFile, htmlString);
System.out.println(newHtmlFile);
但是,我在 htmlTemplateFile 路径上收到了 filenotfoundexception。 包括我的目录结构,但无论我使用什么文件路径,它都找不到该文件。 我尝试了许多其他变体,但似乎没有找到该文件。 File Structure
【问题讨论】:
-
我强烈建议不要使用
File类和相关类,而是改用Path和Files。File类写得不好,没有给出好的异常,有时会混淆权限问题和“找不到文件”。但是,在您的情况下,请记住您必须编写相对于文件系统的路径,而不是应用程序树。Comvocast-war是直接在/目录下吗? -
你说的是java.nio.file.path吗?整个项目 /Convocast 和整个 Web 应用程序是 /Convocast/Convocast-war/。我认为 ../../web/userTemplate.html 将是相对文件路径。我会尝试使用 Path 看看是否能解决问题。