当前位置:首页 » 编程软件 » word二进制流编译html

word二进制流编译html

发布时间: 2024-12-28 16:39:22

Ⅰ 如何从word文件的二进制流中提取文本

用BufferedReader很容易实现的.我写了一个,仅供参考:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;

public class ReaderWordFile
{
public static void main(String[] args){
//我是假设我的word文件为F:盘下的test.doc.所以先创建这个文件.
File file = new File("F://test.doc");
FileInputStream fis=null;
Reader reader=null;
BufferedReader br=null;
try {
/*创建文件输入流,这是一个字节流.然后通过Reader的封装,Reader指向的其实是InputStreamReader.InputStreamReader是字节流通向字符流的桥梁,BufferedReader再封装Reader,通过他的readLine()来读取字符*/
fis = new FileInputStream(file);
reader = new InputStreamReader(fis);
br = new BufferedReader(reader);
String strLine;
StringBuffer sb = new StringBuffer();
/*sb用于存读取的字符串,因为大量的append的,所以用StringBuffer,效率要大大的高于String的拼接*/
while((strLine = br.readLine())!=null){
sb.append(strLine+"\n");
}
/*这个while就是这段代码的意义所在了,用readLine(),一行一行的读出doc文件中的内容*/
System.out.println(sb.toString());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
/*为了保证每个流都能关闭,最好是给每一个分别套上try catch.这个有一个关闭异常不会影响其他的关闭,我这样写显然不安全,只是为了方便*/
fis.close();
reader.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}

}

}
}

当然这样做,这个word文件必须得是纯文本文件.所以这个方法更适合于读取txt文件.

补充:
word文件已经在数据库里了?你想从数据库中读取word文件?
如果word是以binary或image存在在数据库中的.你也可以把这些数据封装在一个输入流里面.你仅仅只是多做了ODBC-JDBC桥而已,当然不同的数据库都对Java提供了JDBC包,且都是免费下载的到的,使用起来就更方便了.
我不明白word文件的来源到底是文件,还是数据源有什么区别?
你掌握一种思想就行了.

热点内容
不同域访问 发布:2025-07-03 02:49:05 浏览:818
多槽编程 发布:2025-07-03 02:47:42 浏览:919
sql2008错误233 发布:2025-07-03 02:28:52 浏览:168
创建数据库语句mysql 发布:2025-07-03 02:14:34 浏览:146
python量化投资 发布:2025-07-03 02:05:11 浏览:804
proxy代理服务器地址 发布:2025-07-03 01:56:52 浏览:910
ps选区存储 发布:2025-07-03 01:55:21 浏览:842
sql2008连接数 发布:2025-07-03 01:55:20 浏览:246
androidstring 发布:2025-07-03 01:53:55 浏览:183
密码sql注入 发布:2025-07-03 00:44:07 浏览:555