本文目录一览:
- 1、java下载doc/docx文件乱码的问题
- 2、JAVA 如何实现docx文档转换成txt?
- 3、java 复制docx文件出现的问题
- 4、用java打开一个word文档(a.docx) 怎么搞
- 5、java怎么给word文档加水印
- 6、java操作docx的问题
java下载doc/docx文件乱码的问题
java下载文件是在什么平台(win,linux?)运行的,又是如何打开看到乱码的(手动、自动、何种方式)?
JAVA 如何实现docx文档转换成txt?
docx文档没办法直接转成txt,两者文件格式不一样,需要你解析docx文档,把里面的内容提取出来,以你想要的形式转化成文本,通过io操作创建对应的txt文件,把文本输出到txt文件
java 复制docx文件出现的问题
这必须不行 假如你byte数组 1024大小 要复制的文件是2050 那按照你这玩法
弄完了 新文件肯定是3072 最后几个字节都是错的
第一次读1024 写1024 第二次读1024 写1024
第三次读2 但是写的还是1024 至于那1022个字节都是0 估计
如果是mp3或者电影什么的还好 要是word文档必须打不开 那几个字节肯定是重要的控制编码字节
简单写了一个类 相信你能看懂
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopyFile {
private DataInputStream in;
private DataOutputStream out;
public static void main(String[] args) {
try {
new CopyFile().foo();
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
//复制方法
public void foo() throws FileNotFoundException, IOException {
in = new DataInputStream(new FileInputStream(…………));
out = new DataOutputStream(new FileOutputStream(…………));
byte[] buffer = new byte[2048];
int offset = 0;
while ((offset = in.read(buffer, 0, buffer.length)) != -1) {
out.write(buffer, 0, offset);
}
in.close();
out.close();
}
}
很常用的一个方法 记住吧~
用java打开一个word文档(a.docx) 怎么搞
package cn.rain.main;
import java.io.File;
import java.io.IOException;
public class TT {
/**
* @param args
*/
public static void main(String[] args) {
try {
Runtime.getRuntime().exec(“C:\\Program Files\\Microsoft Office\\OFFICE11\\WINWORD.EXE aa.doc”);
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
你的WORD安装路径C:\\Program Files\\Microsoft Office\\OFFICE11\\WINWORD.EXE空格后所加的aa.doc为你的文档文件名(有文件名重复的,可以加路径,写法和安装路径的写法一样)
或者用Runtime.getRuntime().exec(“cmd /c \”C:\\temp\\the list.doc\””);
也可以运行
java怎么给word文档加水印
可以使用Free Spire.Doc for Java在word文档中添加文本水印或图片水印。Free Spire.Doc for Java下载链接:网页链接
1.添加文本水印——代码如下:
import com.spire.doc.*;
import com.spire.doc.documents.WatermarkLayout;
import java.awt.*;
public class WordTextWatermark {
public static void main(String[] args) {
Document document = new Document();
document.loadFromFile(“Sample.docx”);
insertTextWatermark(document.getSections().get(0));
}
private static void insertTextWatermark(Section section) {
TextWatermark txtWatermark = new TextWatermark();
txtWatermark.setText(“内部使用”);
txtWatermark.setFontSize(40);
txtWatermark.setColor(Color.red);
txtWatermark.setLayout(WatermarkLayout.Diagonal);
section.getDocument().setWatermark(txtWatermark);
}
}
2.添加图片水印——代码如下:
import com.spire.doc.*;
public class WordImageWatermark {
public static void main(String[] args) throws Exception{
Document document = new Document();
document.loadFromFile(“Sample.docx”);
PictureWatermark picture = new PictureWatermark();
picture.setPicture(“logo.png”);
picture.setScaling(5);
picture.isWashout(false);
document.setWatermark(picture);
document.saveToFile(“out/result2.docx”,FileFormat.Docx )
}
}
java操作docx的问题
docx 其实是用zip打包了的一堆xml,所以仍然是 binary 格式的
你先尝试下,把你 attachFile.getFileContent 的内容拿出来,直接写本地看看
contenttype 这里也看不到你写的是啥,所以不能判断
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/296293.html