如何在 xpages 中读取 Java 中的 css 文件
How to read css file in Java in xpages
我想读取存储在我的 NSF 中的 css 文件的内容,以将其包含在我创建的 (HTML) 文件的样式元素中。
FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream
好像不是这个样子
有什么建议吗?
我试过了
InputStream input = FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream("file.css");
然后
StringBuilder sb = new StringBuilder();
sb.append("<style>").append("\n");
sb.append(convertStreamToString(input)).append("\n");
sb.append("</style>").append("\n");
static String convertStreamToString(java.io.InputStream is) {
java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\A");
return s.hasNext() ? s.next() : "";
}
效果很好
您可以使用 Apache Commons IOUtils 从 InputStream 复制到 StringWriter,然后在 StringWriter 上使用 toString()。这是一个简单的方法:
private static String getResourceFile(final String filename) {
final InputStream input = FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream(filename);
final StringWriter writer = new StringWriter();
try {
IOUtils.copy(input, writer, "utf-8");
} catch (final IOException e) {
System.out.println("Error reading: " + filename);
}
return writer.toString();
}
我想读取存储在我的 NSF 中的 css 文件的内容,以将其包含在我创建的 (HTML) 文件的样式元素中。
FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream
好像不是这个样子
有什么建议吗?
我试过了
InputStream input = FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream("file.css");
然后
StringBuilder sb = new StringBuilder();
sb.append("<style>").append("\n");
sb.append(convertStreamToString(input)).append("\n");
sb.append("</style>").append("\n");
static String convertStreamToString(java.io.InputStream is) {
java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\A");
return s.hasNext() ? s.next() : "";
}
效果很好
您可以使用 Apache Commons IOUtils 从 InputStream 复制到 StringWriter,然后在 StringWriter 上使用 toString()。这是一个简单的方法:
private static String getResourceFile(final String filename) {
final InputStream input = FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream(filename);
final StringWriter writer = new StringWriter();
try {
IOUtils.copy(input, writer, "utf-8");
} catch (final IOException e) {
System.out.println("Error reading: " + filename);
}
return writer.toString();
}