1

同じCSSを使用するHTMLページをプログラムで作成しようとしています。そのために、必要なディレクトリとcssファイルを作成しています。

次の図が示すように、パッケージ「resources」に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 に答える