我想讀一個CSS文件,找出CSS類及其定義,然後將其保存在與同級車的名稱和說明一個CSV文件CSS文件的內容。使用Java,下面我有css文件common.css。閱讀使用Java
/* CSS Document */
.Page
{
background-color: #F4EEE0;
background-image: none;
margin: 0px 0px 0px 0px;
scrollbar-face-color: #DEAC64;
scrollbar-highlight-color: #FFFFFF;
scrollbar-shadow-color: #805822;
scrollbar-3dlight-color: #B47F36;
scrollbar-arrow-color: #805822;
scrollbar-darkshadow-color: #7188AA;
scrollbar-base-color: #F4EEE0;
scrollbar-track-color: #E8C490;
}
a.PageLinkTrail
{
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
font-style: normal;
font-weight: bold;
color: #805822;
text-decoration:none;
}
a.PageLinkTrail:hover
{
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
font-style: normal;
font-weight: bold;
color: #805822;
text-decoration:underline;
}
.IconSpacing a:hover
{
padding: 3px 3px 3px 3px;
text-align:center;
width:15px;
height:15px;
border-top: 1px solid #FFFFFF;
border-right: 1px solid #C99349;
border-bottom: 1px solid #C99349;
border-left: 1px solid #FFFFFF;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
font-style: normal;
font-weight: normal;
color: #333333;
text-decoration:normal;
vertical-align:Top;
white-space:nowrap;
cursor:hand;
}
我想通過這門課的名字
.Page
a.PageLinkTrail
a.PageLinkTrail:hover
下面是它的定義。
{
background-color: #F4EEE0;
background-image: none;
margin: 0px 0px 0px 0px;
scrollbar-face-color: #DEAC64;
scrollbar-highlight-color: #FFFFFF;
scrollbar-shadow-color: #805822;
scrollbar-3dlight-color: #B47F36;
scrollbar-arrow-color: #805822;
scrollbar-darkshadow-color: #7188AA;
scrollbar-base-color: #F4EEE0;
scrollbar-track-color: #E8C490;
}
{
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
font-style: normal;
font-weight: bold;
color: #805822;
text-decoration:none;
}
{
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
font-style: normal;
font-weight: bold;
color: #805822;
text-decoration:underline;
}
我想將它保存在csv文件中。我應該如何使用Java來獲取名稱和定義等CSS內容?這是我目前遇到麻煩最多的解決方案的一部分。 我寫了一個流動的代碼
package com.tufan.digite.Count;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.channels.FileChannel;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GetAllCssFiles {
public static void main(String args[]) throws IOException {
try {
FileInputStream fstream = new FileInputStream("D:/digite/work/digite/WEBUI/common/theme1/common.css");
DataInputStream dis = new DataInputStream(fstream);
FileChannel fc = fstream.getChannel();
ByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0,(int) fc.size());
Charset cs = Charset.forName("8859_1");
CharsetDecoder cd = cs.newDecoder();
CharBuffer cb = cd.decode(bb);
String strLine;
String content = ".MainNav a:hover{ float:left; width:70px; height:65px; border-top: 2px Solid #F4E6CC; border-bottom: 2px Solid #805822; border-left: 2px Solid #F4E6CC; border-right: 2px Solid #805822; margin: 0px 0px 0px 0px; align:center; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; color: #FFFFFF; text-decoration: none; text-align: center; background:#C99349; background-image: url(../../images/hor_nav_bg.gif); background-repeat: repeat-X; padding:4px; clear:left; }";
Pattern p = Pattern.compile("([a-zA-Z_0-9 | -|:|;|\n\t]*)(\\{[\n\t]*[a-zA-Z_0-9 | -|:|;|\n\t]*\\})");
Matcher matcher = p.matcher(cb);
while (matcher.find()) {
String selector = matcher.group(1);
String definition = matcher.group(2);
System.out.println("selector:" + selector + "Definition"
+ definition);
}
} catch (Exception e) {
e.printStackTrace();
} }}
它不會給我組值。 如果我通過內容到匹配器,它會給我答案「.MainNav答:懸停」在組之一, {浮動:左;寬度:70像素;高度:65px; border-top:2px Solid#F4E6CC; border-bottom:2px Solid#805822; border-left:2px Solid#F4E6CC; border-right:2px Solid#805822; margin:0px 0px 0px 0px;居中對齊; font-family:Verdana,Arial,Helvetica,sans-serif; font-size:10px; font-weight:bold;顏色:#FFFFFF;文字修飾:無; text-align:center;背景:#C99349; background-image:url(../../ images/hor_nav_bg.gif); background-repeat:repeat-X;填充:4像素;明確:左; } 作爲定義組2
但內容是硬編碼。 我正在嘗試cb cb內容整個css文件內容。第一開口支撐的
閱讀文件,解析內容,獲取定義。簡單! –
你爲什麼要這樣做? – mrtsherman
「......我目前遇到的麻煩最多」那麼你的意思是說你已經開始對此做一些編碼了?然後顯示,我們可以指出哪裏出了問題。 – footy