文件大小增加但文本未被写入

时间:2014-02-01 13:06:48

标签: java append stringbuilder printwriter

我知道SOMEONE已成功完成此操作。我只是想把文字写到信头上。它包含Sample Letter head

    File myFile = new File("/tmp/letterhead.doc");
    PrintWriter pw = new PrintWriter(new FileWriter(myFile,true));

    StringBuilder sb = new StringBuilder();
    sb.append("Why be a programmer im always stuck @ something dumb wasting my TIME ?? :( \n");

    pw.println(sb.toString());
    pw.close();

我试过了 Apache POI - 失败

Java2Word - 失败

这是格式化问题,还是编码问题?我听说.rtf会更容易,但是如果他们没有看到.doc / .docx,那么人们会感到紧张。这需要在MSWORD中打开,因为那是麻瓜的生活。

如果有人知道的话,我愿意支付非开源的东西。我不想在星期一看起来像冲洗,加上我在90天试用GEE WHIZ!

1 个答案:

答案 0 :(得分:0)

要从Java生成.doc / .docx,您可能希望使用您提到的其中一个库。如果它们不适合您,则可以选择直接使用WordprocessingML。 WordprocessingML基本上是Word可以理解的XML,并呈现为Word文档。

以下是WordProcessingML的示例。如果将其保存为.xml文件,然后在Word中打开它,您将看到它被解释为Word文档。然后,您可以将其保存到Word中的.doc / .docx。

<?xml version="1.0"?>
<?mso-application progid="Word.Document"?>
<w:wordDocument 
    xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml">
<w:body>
    <w:p>
        <w:r>
            <w:t>Hello JavaWorld.</w:t> 
    <w:br/>
<w:t>This is a great reporting tool.</w:t>
        </w:r>
    </w:p>
</w:body>
</w:wordDocument>

上面的示例来自from this site,绝对值得一游。在底部,有一些Java可用于创建Excel电子表格。您应该可以使用它来编写创建Word文档所需的代码。