您的位置:首页 > 编程语言 > Java开发

Java课程设计-文档相似性检查系统-文档输出字符串类

2014-07-15 21:23 381 查看
如果比较文档相似性,首先会把txt、doc、pdf 格式的文档输出到缓冲区。文档输出字符串类

根据课题 文档相似性检测系统(作业查重)   

实现txt输出比较容易、doc的话就要用到poi控件、方法很多还能用到itext、pdf格式用到pdfbox 
/*
* 判断要比较的文章后缀格式。doc、txt、pdf格式均可
* 返回字符串
*/
import java.io.*;
import org.pdfbox.pdmodel.PDDocument;
import org.textmining.text.extraction.WordExtractor;
import org.pdfbox.pdfparser.PDFParser;
import org.pdfbox.util.PDFTextStripper;

public class wordortxt {

public static String readDoc(String docFilePath) throws Exception {   //doc格式输出
// 创建输入流读取doc文件
File f1 = new File(docFilePath);
FileInputStream in = new FileInputStream(f1);
WordExtractor extractor = null;
String text = null;
// 创建WordExtractor
extractor = new WordExtractor();
// 对doc文件进行提取
text = extractor.extractText(in);
return text;
}

public static String readtxt(String txtFilePath) throws Exception {		//txt格式输出
File f = new File(txtFilePath);
FileInputStream inputstream = new FileInputStream(f);
StringBuffer buffer = new StringBuffer();
String line; 												// 用来保存每行读取的内容
InputStreamReader in=new InputStreamReader(inputstream);
BufferedReader bufferreader = new BufferedReader(in);
line = bufferreader.readLine(); 								// 读取第一行
while (line != null) { 											// 如果 line 为空说明读完了
buffer.append(line); 										// 将读到的内容添加到 buffer 中
buffer.append("\n"); 										// 添加换行符
line = bufferreader.readLine(); 							// 读取下一行
}
// 将读到 buffer 中的内容写出来
inputstream.close();
String filetext = buffer.toString();
//inputstream.getEncoding()
//filetext就是得到的字符串
return filetext;
//System.out.print(filetext);
//System.out.print(in.getEncoding());*/

}

public static String readPDF (String PDFFilePath) {						//PDF格式输出
String resultPDF = null;
FileInputStream is = null;
PDDocument document = null;
try{
is = new FileInputStream(PDFFilePath);
PDFParser p = new PDFParser(is);	//对PDF文件进行解析
p.parse();		//获取解析后得到的PDF文档对象
document = p.getPDDocument();	//新建一个PDF文本剥离器
PDFTextStripper stripper = new PDFTextStripper();	//从PDF文档对象中剥离文本
resultPDF = stripper.getText(document);
} catch (FileNotFoundException e){
e.printStackTrace();
} catch (IOException e ){
e.printStackTrace();
} finally {
if (is != null){
try {
is.close();
}catch (IOException e){
e.printStackTrace();
}
}
if (document != null){
try {
document.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
return resultPDF;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  代码 职业生涯