我需要显示各种文件的内容:.log、.xml、.cmd、.wsf 等。我正在尝试编写一个 jsp 来一般性地获取文件并打印其内容。
这是我的代码
inputStream = new FileInputStream(file);
reader = new BufferedReader(new InputStreamReader(inputStream));
String line = reader.readLine();
out.println("Log file: "+strPath+"<br>"); <--------- This works always
if (!file.exists()) {
out.println("File does not exist");
} else {
while (line!=null) {
out.println(line.getClass() + "<br>"); <-- Prints "String" for xml & wsf
out.println(line); <---------------------- Sometimes prints a space for xml & wsf
line = reader.readLine();
}
}
reader.close();
inputStream.close();
对于 xml 和 wsf 文件我需要做一些特别的事情吗?它们的相似之处在于它们都有 ml 描述符,例如
<job id="script">
我已经看到了类似问题的答案,但我不确定如何让它在我继承的代码库中工作(我只是复制其他人的工作)。
尝试
URLEncoder.encode
。
您需要这个:
<%@ page import="java.net.URLEncoder" %>
,位于 jsp 顶部。
然后你可以这样做:
URLEncoder.encode(schema)
。
我想调用 jsp 作为 Web 应用程序的端点。我想发送 http://host.com/getFile?path=path ext.xml 然后我得到了 text.xml 的内容。然而我得到了空白。
我后来意识到这是因为像
<
这样的东西让jsp认为String是jsp指令。相反,通过将文本包裹在 URLEncoder.encode()
中,它将其视为需要打印的文本。
然后在 js 方面,我使用
decodeURIComponent(val).replaceAll('+',' ')
来解码消息,然后我得到了一个可以在文本区域中显示的字符串。