java寫入word
❶ 用java代碼把內容寫到Word文檔
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Test {
public static void main(String[] args) {
try
{
FileInputStream fr=new FileInputStream("test/123.txt");
InputStreamReader af=new InputStreamReader(fr);
BufferedReader bf=new BufferedReader(af);
FileOutputStream fo=new FileOutputStream("test/456.doc");
OutputStreamWriter osw=new OutputStreamWriter(fo);
BufferedWriter bw=new BufferedWriter(osw);
String line=bf.readLine();
while(line!=null)
{
System.out.println(line);
bw.write(line);
bw.newLine();
bw.flush();
line=bf.readLine();
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
test/123.txt里的內容寫到test/456.doc下了,在你的java src中建一個test文件夾,這里是相對路徑
❷ java poi 操作word文檔,怎麼寫入帶上下標的文字
1.1 添加poi支持:包下載地址http://www.apache.org/dyn/closer.cgi/poi/release/
1.2 POI對Excel文件的讀取操作比較方便,POI還提供對Word的DOC格式文件的讀取。但在它的發行版本中沒有發布對Word支持的模塊,需要另外下載一個POI的擴展的Jar包。下載地址為http://www.ibiblio.org/maven2/org/textmining/tm-extractors/0.4/ 下載extractors-0.4_zip這個文件
package com.ray.poi.util;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.poifs.filesystem.DirectoryEntry;
import org.apache.poi.poifs.filesystem.DocumentEntry;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.textmining.text.extraction.WordExtractor;
/**
* 讀寫doc
* @author wangzonghao
*
*/
public class POIWordUtil {
/**
* 讀入doc
* @param doc
* @return
* @throws Exception
*/
public static String readDoc(String doc) throws Exception {
// 創建輸入流讀取DOC文件
FileInputStream in = new FileInputStream(new File(doc));
WordExtractor extractor = null;
String text = null;
// 創建WordExtractor
extractor = new WordExtractor();
// 對DOC文件進行提取
text = extractor.extractText(in);
return text;
}
/**
* 寫出doc
* @param path
* @param content
* @return
*/
public static boolean writeDoc(String path, String content) {
boolean w = false;
try {
// byte b[] = content.getBytes("ISO-8859-1");
byte b[] = content.getBytes();
ByteArrayInputStream s = new ByteArrayInputStream(b);
POIFSFileSystem fs = new POIFSFileSystem();
DirectoryEntry directory = fs.getRoot();
DocumentEntry de = directory.createDocument("WordDocument", s);
FileOutputStream ostream = new FileOutputStream(path);
fs.writeFilesystem(ostream);
s.close();
ostream.close();
} catch (IOException e) {
e.printStackTrace();
}
return w;
}
}
測試
package com.ray.poi.util;
import junit.framework.TestCase;
public class POIUtilTest extends TestCase {
public void testReadDoc() {
try{
String text = POIWordUtil.readDoc("E:/work_space/poi/com/ray/poi/util/demo.doc");
System.out.println(text);
}catch(Exception e){
e.printStackTrace();
}
}
public void testWriteDoc() {
String wr;
try {
wr = POIWordUtil.readDoc("E:/work_space/poi/com/ray/poi/util/demo.doc");
boolean b = POIWordUtil.writeDoc("c:\\demo.doc",wr);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
❸ 使用java如何直接往word文件中寫入內容最好有詳細的介紹和源代碼
用流就可以啊,不過要設置好編碼格式,否則寫進去的全是亂碼