1

我正在尝试以编程方式构建使用相同 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("")但代码对于缓冲区来说太长了。

请建议。

4

2 回答 2

1

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

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

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

于 2013-03-04T00:16:05.553 回答
1

最简单的方法是:

Files.copy(Gui.class.getResourceAsStream("style.css"),
    Paths.get("new_project", "css", "style.css"));
于 2013-03-04T00:20:03.097 回答