如何在java中手工创建doc/docx文件

如何在java中手工创建doc/docx文件,java,docx,Java,Docx,我用java创建了一个纯字符串的docx文件。 当我通过电子邮件将docx文件发送到手机时,文件无法正常打开 我的java代码是: // creating a docx file File wordFile = new File("myDocFile.docx"); wordFile.createNewFile(); String title = "my document title here"; String content = "my document content here";

我用java创建了一个纯字符串的docx文件。 当我通过电子邮件将docx文件发送到手机时,文件无法正常打开

我的java代码是:

// creating a docx file
File wordFile = new File("myDocFile.docx");
wordFile.createNewFile();

 String title   = "my document title here";
 String content = "my document content here";

 // docx file content with Html
String fileStr = "<!DOCTYPE html><meta http-equiv=\"content-type\" " +
" content=\"application/msword; charset=UTF-8\">" + 
"<h1 style='text-align:center;'>" + title+ "</h1>" + content;

// writing fileStr in to docx file.
   Files.write(wordFile.toPath(), fileStr.getBytes("UTF-8"),
   StandardOpenOption.TRUNCATE_EXISTING);
//创建docx文件
File wordFile=新文件(“myDocFile.docx”);
createNewFile();
String title=“此处为我的文档标题”;
String content=“我的文档内容在此”;
//docx文件内容与Html
字符串fileStr=”“+
“”+标题+“”+内容;
//将fileStr写入docx文件。
Files.write(wordFile.toPath(),fileStr.getBytes(“UTF-8”),
StandardOpenOption。截断_(现有);
无法在智能手机中打开创建的我的docx文件。
如何在智能手机中读取docx?

这里有两个简单的误解:

  • 当然,docx有开放的XML内容,但仍然不应该尝试手动创建这样的文件,而是使用一个合理的库,例如。严肃地说:你从一个简单的“身体”开始,但是任何在现实世界中有用的东西都会成长。您的需求将很快变得更加复杂,然后您将花费大量时间重新实现这些库为您所做的工作。重新发明轮子的成本很高,特别是考虑到你的轮子与任何成熟的图书馆相比都会非常糟糕
  • 如何在每个智能手机中读取docx?你不能。你对世界上“每一部”智能手机都有控制权,因此你无法强制接收你的docx的人能够查看它
长话短说:您的整个方法看起来“被设计破坏”。许多人真的不喜欢被发送“office”文件(出于安全考虑)

所以,真正的答案是:退后一步,评估你想“发送”什么样的信息,然后找出适合所有用户的方法


当你已经给他们发电子邮件时,考虑把一些好的纯文本放进去。一般来说:发送附有文件的电子邮件是烦扰用户的好方法。这应该是你最后的选择,而不是第一次。docx是一种Word格式,并非所有智能手机都安装了Word/active。对于初学者来说,docx是一种压缩格式。使用docx4j()之类的工具来创建这些文件。