?? parsecmireference.java
字號:
package cn.ac.cintcm.spider.cmi;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
public class ParseCmiReference {
private static final String referenceTitle = "題 名:";
private static final String authors = "作 者:";
private static final String enterprise = "單 位:";
private static final String literature = "出 處:";
private static final String referenceNum = "引文數:";
public List<CmiReference> parse(String content) throws IOException {
List<CmiReference> references = null;
if (content != null) {
BufferedReader in = new BufferedReader(new StringReader(content));
references = process(in);
}
return references;
}
public List<CmiReference> parse(InputStream in) throws IOException {
List<CmiReference> references = null;
if (in != null) {
BufferedReader bin = new BufferedReader(new InputStreamReader(in));
references = process(bin);
}
return references;
}
public List<CmiReference> parseFile(String fileName) throws IOException {
List<CmiReference> references = null;
if (fileName != null) {
File inputFile = new File(System.getProperty("user.dir"), fileName);
BufferedReader in = new BufferedReader(new FileReader(inputFile));
references = process(in);
}
return references;
}
private List<CmiReference> process(BufferedReader in) throws IOException {
String str = null;
List<CmiReference> references = new ArrayList<CmiReference>();
while ((str = in.readLine()) != null) {
if (str.startsWith("NO")) {
CmiReference reference = new CmiReference();
int count = 0;
while ((str = in.readLine()) != null && count++ < 6) {
if (str.startsWith(referenceTitle)) {
reference.setReferenceTitle(str.substring(referenceTitle.length()).trim());
} else if (str.startsWith(authors)) {
reference.setAuthors(str.substring(authors.length()).trim());
} else if (str.startsWith(enterprise)) {
reference.setEnterprise(str.substring(enterprise.length()).trim());
} else if (str.startsWith(literature)) {
reference.setLiterature(str.substring(literature.length()).trim());
} else if (str.startsWith(referenceNum)) {
reference.setReferenceNum(str.substring(referenceNum.length()).trim());
} else {
reference.setTitle(str);
}
}
references.add(reference);
}
}
return references;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -