私はtxtファイルをStringバッファに読み込み、OutputStreamWriterを使ってその内容をワードドキュメントに書き出しています。書類を書いているときの書式設定
問題は、書式設定がドキュメントに保持されていないことです。スペースと改行はテキストファイルのように保持されません。 txtファイルは、スペース、ページ区切り、およびタブで正しくフォーマットされます。私は単語の文書のtxtを複製したい。どのように同じ書式を保持できるのかをお勧めします。ファイルへのリンクはhttp://s000.tinyupload.com/index.php?file_id=09876662859146558533です。
これはサンプルコードです:
private static String readTextFile() {
BufferedReader br = null;
String content = null;
try {
br = new BufferedReader(new FileReader("ORDER_INVOICE.TXT"));
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
line = br.readLine();
sb.append(System.lineSeparator());
}
content = sb.toString();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return content;
}
private static void createDocument(String docName, String content) {
FileOutputStream fout = null;
try {
fout = new FileOutputStream(docName);
OutputStreamWriter out = new OutputStreamWriter(fout);
out.write(content);
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
OutputStreamWriterは特に「Word」ドキュメントにどのように書き込むのですか? Microsoft Word文書を作成するライブラリを使用していますか、単にファイルに.DOC拡張子を付けるだけですか? – slipperyseal
を開始すると、すべての行がStringBuilderに読み込まれますが、改行は追加されません。 readLine()は、キャリッジリターンまたはラインフィードのない文字列を返します。だから、sb.append(行)を試してみてください。続いてsb。追加( '\ n'); – slipperyseal
public String readLine()throws IOException テキスト行を読み取ります。行は、改行( '\ n')、復帰( '\ r')、改行の直後に続く改行のいずれかで終了すると見なされます。 戻り値: 行の終了文字が含まれていない行の内容を含む文字列。ストリームの終わりに達した場合はnull – Megha