【问题标题】:Java application to write CSS from local package从本地包编写 CSS 的 Java 应用程序
【发布时间】:2013-03-03 22:24:55
【问题描述】:

我正在尝试以编程方式构建使用相同 css 的 html 页面。为此,我正在创建必要的目录和 css 文件。

如下图所示,我的包“资源”中有 css 文件,我想在调用 writeCss

方法时获取它并编写一个本地副本

这是该方法的样子:

private void writeCss(){
        try {
        BufferedWriter out = new BufferedWriter(new FileWriter("new_project/css/style.css"));
            //take the style.css from the package resources

            //write the css to a local file
            out.write("");

            out.close();
        } catch (IOException e) {}
    }

我最初只是想将整个 CSS 代码复制并粘贴到 out.write("") 中,但代码对于缓冲区来说太长了。

请提出建议。

【问题讨论】:

  • 资源必须在网页文件夹级别,而不是在源代码上。

标签: java file writer


【解决方案1】:

最简单的方法是:

Files.copy(Gui.class.getResourceAsStream("style.css"),
    Paths.get("new_project", "css", "style.css"));

【讨论】:

    【解决方案2】:

    您可以使用类加载器读取文件的内容以帮助您找到文件,例如:

    InputStream is = getClass().getResourceAsStream("/resources/style.css");
    

    请注意,如果类加载器无法找到文件,它将返回 null,但我认为它在您的情况下可以正常工作。通常,您会使用缓冲区读取整个文件,然后将其直接写入输出流,直到输入流被消耗,如果您在写入之前不修改或处理 CSS 文件,则无需编写器。

    【讨论】:

      猜你喜欢
      • 2011-11-11
      • 1970-01-01
      • 2017-04-10
      • 2012-04-25
      • 2018-05-15
      • 1970-01-01
      • 2020-08-18
      • 2010-09-08
      • 1970-01-01
      相关资源
      最近更新 更多