2013-03-03 60 views
1

我試圖用編程方式構建使用相同css的html頁面。爲了做到這一點,我正在創建必要的目錄和一個css文件。從本地包寫入CSS的Java應用程序

如下圖爲我的CSS文件中我的包「資源」,我希望把它寫一個本地副本,當我調用該方法writeCss

enter image description here

這是該方法的樣子:

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("")但代碼爲緩衝區太長。

請建議。

+0

的資源必須在網頁文件夾級別,而不是源代碼。 – 2013-03-03 22:27:09

回答

1

最簡單的方法是:

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

您可以使用一個類加載器來幫助你找到想要的文件讀取文件的內容,例如:

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

請注意,如果類加載器是無法找到它會返回null文件,但我認爲它會在你的情況下工作得很好。通常情況下,您可以使用緩衝區讀取整個文件,然後將其直接寫入輸出流,直到輸入流消耗完,如果在寫入之前不修改或處理CSS文件,則不需要編寫器。

相關問題