word有微软的专用格式,如果要读取其内容,可以使用jar包,如下:
创新互联专注于彭泽企业网站建设,成都响应式网站建设,购物商城网站建设。彭泽网站建设公司,为彭泽等地区提供建站服务。全流程定制网站,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
1。用jacob.
其实jacob是一个bridage,连接java和com或者win32函数的一个中间件,jacob并不能直接抽取word,excel等文件,需要自己写dll哦,不过已经有为你写好的了,就是jacob的作者一并提供了。
jacob下载:
下载了jacob并放到指定的路径之后(dll放到path,jar文件放到classpath),就可以写你自己的抽取程序了,下面是一个例子:
import java.io.File;
import com.jacob.com.*;
import com.jacob.activeX.*;
public class FileExtracter{
public static void main(String[] args) {
ActiveXComponent app = new ActiveXComponent("Word.Application");
String inFile = "c:\\test.doc";
String tpFile = "c:\\temp.htm";
String otFile = "c:\\temp.xml";
boolean flag = false;
try {
app.setProperty("Visible", new Variant(false));
Object docs = app.getProperty("Documents").toDispatch();
Object doc = Dispatch.invoke(docs,"Open", Dispatch.Method, new Object[]{inFile,new Variant(false), new Variant(true)}, new int[1]).toDispatch();
Dispatch.invoke(doc,"SaveAs", Dispatch.Method, new Object[]{tpFile,new Variant(8)}, new int[1]);
Variant f = new Variant(false);
Dispatch.call(doc, "Close", f);
flag = true;
} catch (Exception e) {
e.printStackTrace();
} finally {
app.invoke("Quit", new Variant[] {});
}
}
}
2。用apache的poi来抽取word,excel。
poi是apache的一个项目,不过就算用poi你可能都觉得很烦,不过不要紧,这里提供了更加简单的一个接口给你:
下载经过封装后的poi包:
下载之后,放到你的classpath就可以了,下面是如何使用它的一个例子:
import java.io.*;
import org.textmining.text.extraction.WordExtractor;
/**
*
Title: pdf extraction
*
Description: email:chris@matrix.org.cn
*
Copyright: Matrix Copyright (c) 2003
*
Company: Matrix.org.cn
* @author chris
* @version 1.0,who use this example pls remain the declare
*/
public class PdfExtractor {
public PdfExtractor() {
}
public static void main(String args[]) throws Exception
{
FileInputStream in = new FileInputStream ("c:\\a.doc");
WordExtractor extractor = new WordExtractor();
String str = extractor.extractText(in);
System.out.println("the result length is"+str.length());
System.out.println("the result is"+str);
}
}
1:知道包名,可以在Overview里直接找到这个包,然后去查这个包下面的类和方法。
2:知道类名和方法名,可以在Index.html里直接去找这个类或方法,然后查看。
3:如果都不知道,可以输入关键字去搜索;或者先在百度搜索下,找到相关关键字,然后再在API文档中搜索。
补充
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
jsp中插入java代码叫做scriptlet,卸载%%之间。
简要参考代码如下:
%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%
%
String a1 ="";
String a2 = "";
long s = 0;
a1 = request.getParameter("a1");
a2 = request.getParameter("a2");
String outs="";
if(a1!=null !a1.trim().equals("") a2!=null !a2.trim().equals("")){
try{
s = Long.parseLong(a1)+Long.parseLong(a2);
outs = String.valueOf(s);
}catch(Exception ex){
outs="您输入的不是有效数字!";
}
}
if(a1==null||a2==null) {
a1 ="";
a2 = "";
}
%
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
html
head
/**新建一个类把下面代码放进去,注意要设置basePath(你要读取的文件夹),读取和写入的方法也都写好了.你可以根据自己的需求掉用就行了**/
static String basePath="/home/csvDir";
/**
* 查找文件夹下所有符合csv的文件
*
* @param dir 要查找的文件夹对象
* */
public static void findFile(File dir) throws IOException{
File[] dirFiles = dir.listFiles();
for(File temp : dirFiles){
if(!temp.isFile()){
findFile(temp);
}
//查找指定的文件
if(temp.isFile() temp.getAbsolutePath().endsWith(".txt") ){
System.out.println(temp.isFile() + " " + temp.getAbsolutePath());
readFileContent(temp);
}
}
}
/**
* @param file 要读取的文件对象
* @return 返回文件的内容
* */
public static String readFileContent(File file) throws IOException{
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
StringBuffer sb = new StringBuffer();
while(br.ready()){
sb.append(br.readLine());
}
System.out.println(sb.toString());
return sb.toString();
}
/**
* @param file 要写入的文件对象
* @param content 要写入的文件内容
* */
public static void writeFileContent(File file,String content) throws IOException{
FileWriter fw = new FileWriter(file);
fw.write(content);
fw.flush();
fw.close();
}
public static void main(String[] args) {
try {
findFile(new File(basePath));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}