Java 写入.doc文件

Java 写入.doc文件,java,utf-8,doc,Java,Utf 8,Doc,我正在尝试将一个阿拉伯语句子写入.doc文件。但是每次我打开.doc文件时,它都会显示一条消息,上面写着文件转换,它会询问我想在哪个Unicode中显示.doc文件,所以我保留了Unicode(UTF-8),一切都正常 以下是我写入文件的代码: PrintWriter print = new PrintWriter(new FileOutputStream(newFile+".doc", true)); print.println(toString()); print.println(); pr

我正在尝试将一个阿拉伯语句子写入.doc文件。但是每次我打开.doc文件时,它都会显示一条消息,上面写着文件转换,它会询问我想在哪个Unicode中显示.doc文件,所以我保留了Unicode(UTF-8),一切都正常

以下是我写入文件的代码:

PrintWriter print = new PrintWriter(new FileOutputStream(newFile+".doc", true));
print.println(toString());
print.println();
print.close();
其中,
newFile
是用户选择的文件(用户未添加扩展名),而
toString()
是一个将要写入文件的整个句子组合在一起的函数

我的问题是,每次打开.doc文件时是否都必须看到此文件转换

我已经尝试在NetBeans中打开项目的属性,并输入编码:UTF-8


有人能帮忙吗?

你不是在写
.doc
文件。您正在编写一个简单的文本文件,并将其命名为
.doc

要使其作为
.doc
文件工作,您需要编写实际写入
.doc
文件格式的代码(或者使用类似的库来为您编写)


如果Word找到的文件不是
.doc
文件,它会尝试将其解释为文本文件,但需要知道编码,这就是为什么会出现对话框。

您使用的是API还是简单的文件IO?如何编写.doc文件?是否使用POI或任何其他库?如果不是,那么您几乎肯定是做错了。好的,下面是代码其中我写入文件:PrintWriter print=new PrintWriter(new FileOutputStream(newFile+“.doc”,true));print.println(toString());print.println();print.close();其中newFile是用户选择的文件(用户未添加扩展名),toSting()是一个将要写入文件的整个句子组合在一起的函数。