
正文
能够写文件的java代码 能够写文件的java代码是什么
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
能写个读取.wps后缀名文档的Java程序吗?
如下方法,代码思路:加载一个.wps格式的文档,获取文档中的文本或图片,将获取到的内容保存到本地路径。下面以分别读取文本和图片为例:
1.读取WPS中的文本
import com.spire.doc.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
public class ReadTextFromWPS {
public static void main(String[] args) throws IOException{
//通过流加载WPS文字文档
FileInputStream inputStream = new FileInputStream(new File("test.wps"));
Document doc = new Document();
doc.loadFromStream(inputStream, FileFormat.Doc);
//获取文本保存为String
String text = doc.getText();
//将String写入Txt
writeStringToTxt(text,"读取WPS文本.txt");
}
public static void writeStringToTxt(String content, String txtFileName) throws IOException {
FileWriter fWriter= new FileWriter(txtFileName,true);
try {
fWriter.write(content);
}catch(IOException ex){
ex.printStackTrace();
}finally{
try{
fWriter.flush();
fWriter.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
2.读取WPS中的图片
import com.spire.doc.*;
import com.spire.doc.documents.DocumentObjectType;
import com.spire.doc.fields.DocPicture;
import com.spire.doc.interfaces.ICompositeObject;
import com.spire.doc.interfaces.IDocumentObject;
import javax.imageio.ImageIO;
import java.awt.image.RenderedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
public class ExtractImgFromWPS {
public static void main(String[] args) throws IOException {
//通过流加载WPS文字文档
FileInputStream inputStream = new FileInputStream(new File("test.wps"));
Document doc = new Document();
doc.loadFromStream(inputStream, FileFormat.Doc);
//创建Queue对象
Queue nodes = new LinkedList();
nodes.add(doc);
//创建List对象
List images = new ArrayList();
//遍历文档中的子对象
while (nodes.size() 0)
{
ICompositeObject node = (ICompositeObject) nodes.poll();
for (int i = 0; i node.getChildObjects().getCount(); i++)
{
IDocumentObject child = node.getChildObjects().get(i);
if (child instanceof ICompositeObject)
{
nodes.add(child);
//获取图片并添加到List
if (child.getDocumentObjectType() == DocumentObjectType.Picture)
{
DocPicture picture = (DocPicture) child;
images.add(picture.getImage());
}
}
}
}
//将图片保存为PNG格式文件
for (int i = 0; i images.size(); i++)
{
File file = new File(String.format("WPSImg-%d.png", i));
ImageIO.write((RenderedImage) images.get(i), "PNG", file);
}
}
}
读取时,注意在Java程序中导入spire.doc.jar。
相关问答
Q1: JAVA读和写2进制文件的代码
不废话,直接上代码
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOperation {
public static void main(String[] args) {
String src = "111.txt";
String dec = "222.txt";
try {
FileInputStream in = new FileInputStream(src);
// File file = new File(dec);
// if(!file.exists())
// file.createNewFile();
FileOutputStream out = new FileOutputStream(dec);
byte buffer[] = new byte[1024];
int count,i;
while((count=in.read(buffer))!=-1){
// for循环保证只写入count个byte, 否则会写入1024个byte
for(i=0; icount; i++){
out.write(buffer[i]);
}
}
in.close();
out.close();
System.out.println("Success!");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Q2: 跪求Java中写入文件和从文件中读取数据的最佳的代码!
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class IOTest {
public static void main(String[] args) {
String str = "123\r\n456";
writeFile(str);//写
String str1 = readFile();//读
System.out.println(str1);
}
/**
* 传递写的内容
* @param str
*/
static void writeFile(String str) {
try {
File file = new File("d:\\file.txt");
if(file.exists()){//存在
file.delete();//删除再建
file.createNewFile();
}else{
file.createNewFile();//不存在直接创建
}
FileWriter fw = new FileWriter(file);//文件写IO
fw.write(str);
fw.flush();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 返回读取的内容
* @return
*/
static String readFile() {
String str = "", temp = null;
try {
File file = new File("d:\\file.txt");
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);//文件读IO
while((temp = br.readLine())!=null){//读到结束为止
str += (temp+"\n");
}
br.close();
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
return str;
}
}
刚写的,够朋友好好学习一下啦,呵呵
多多看API,多多练习
关于能够写文件的java代码和能够写文件的java代码是什么的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。





