Web サービスからストリーム/バイト配列として ms-word (docx) ドキュメントを受け取る状況があります。
次に、以前と同じ名前と内容を付けて、ファイルを再作成しようとします。
元のファイルとダウンロード後に作成されたファイルを比較すると、それらは同一です。
ただし、単語で新しいものを開こうとするとエラーが発生し、リスクを受け入れると開くことができます。
Windows でファイルのプロパティを見ると、新しいファイルには多くの情報がありません。
エラーなしでファイルを開くことができるように、プロパティを再作成する方法を知っている人はいますか?
余分な情報.. .doc (word97-2003) ドキュメントを使用すると、すべて正常に動作しますが、.docx ドキュメントのみが問題になります (.xlsx とすべての Office 2007-2010 ドキュメントも同様です)。
これはファイルを作成する私のコードです..
private static void saveBytesAsFile(String path, String filename, byte[] data){
try {
File dir = new File(path);
dir.mkdirs();
OutputStream os = new FileOutputStream(path + "/" + filename);
os.write(data);
os.flush();
os.close();
} catch (FileNotFoundException fnfe) {
fnfe.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
元のファイルと再作成したファイルを notepad++ で比較したところ、同じであるという結果が得られました。
これは、いくつかのプロパティが欠落していることを確認する方法です。
これらは私が単語から得た警告
です。最初に[OK]を押し、2番目に[はい]を押すと、とにかくドキュメントを開くことができます。