HTML文件的代碼示例:的Java讀取HTML文件,並保存其內容到一個Excel文件
<HTML>
<HEAD>
<TITLE>REPORT</TITLE></HEAD>
<BODY>
<TITLE>REPORT</TITLE><PRE><H2>################ REPORT ###################</H2><H3>Setup</H3> Item1 1120 <br> Item2 Copy free <br> Item3 8/3/2017 5:44:51 AM <br> Item4 <Press OK> <br>
我需要閱讀的信息與<br>
線。我們的目標是將這些信息保存到一個Excel文件像下面
我目前使用的BufferedReader閱讀HTML文件,但我不知道如何來分隔行包含字段和值。我試圖使用散列表來保存它的字段名稱和值,但我不能以正確的方式獲取值。我也試過Jsoup擺脫HTML標籤的,但它給了我更多的複雜性讀取線以來,HTML文件
private final String[] modStrings = new String[]{"Item1", "Item2", "Item3", "Item4", "Item5"};
public void readHtmlFile() throws IOException {
FileReader reader = new FileReader("C:\\Users\\file.html");
// StringBuilder sb = new StringBuilder();
BufferedReader br = new BufferedReader(reader);
String line;
String[] tempContent = {};
ArrayList content = new ArrayList();
HashMap modMap = new HashMap<>();
while ((line=br.readLine()) != null) {
tempContent = line.split("<br>");
for(int i = 0; i < tempContent.length; i++){
for (String sub:modStrings){
if(tempContent[i].contains(sub)){
String value = "TODO HERE"; // TODO
content.add(sub);
modMap.put(sub, value);
}
}
}
}
// String textOnly = Jsoup.parse(sb.toString()).text();
for(int i = 0; i < content.size(); i++){
System.out.println(content.get(i));
System.out.println(modMap);
}
}
任何建議或想法將是一個很大的幫助。
通過上面的HTML結構,用'分裂(「< br「)不是給你想要的。你應該使用''split'與'space'來獲得'Item'並且值 –
你可以使用String [] keyVal = s.trim()。split(「+」); value = keyVal [1]; key = keyVal [0); – CodeIsLife
@TuyenNguyen,我不能使用split(「」),因爲有時候這個值還包含一個空格,如果我用空格拆分,它也會拆分我想要的值。 (例如,免費複製和8/3/2017 5:44:51 AM) –