Java を使用してファイルを生成していますが、別のビューアーで開いたときに正しいフォーマットを取得できません。異なる出力を与えるプログラムはWordPad
、 およびNotePad
です。
コンソールでのプログラムの出力はすべて適切にフォーマットされています。また、ファイルを表示すると、適切にフォーマットされWordPad
ています。しかし、でファイルを開くと、NotePad
すべてごちゃごちゃになっています。
メモ帳では非常に見栄えが悪く、エンドユーザーがメモ帳でそれを開いてごちゃごちゃした混乱を見てしまうのは嫌です。
Javaでテキストを適切にフォーマットして、テキストリーダーが意図したとおりにレンダリングする方法はありますか?
String.format()
文字列をフォーマットするために使用しています。
編集:情報を書き出すために使用しているコアコードの一部を次に示します。
private void retrieveOrderInfo(ArrayList<String> order) {
int row = orderTable.getRowCount();
String descr[] = new String[row];
double price[] = new double[row];
String info;
readOrderTable(descr, price);
for (int i = 0; i < row; i++) {
info = String.format(" %-45s %-20.1f ", descr[i], price[i]);
order.add(info);
}
}
private void writeString(String path, String info, boolean line) {
DataRW write = new DataRW();
write.writeFileExternal(path, info, line);
}
これは私の DataRW クラスにあります。
public void writeFileExternal(String fileName, String info, boolean line) {
BufferedWriter bwriter = null;
try {
FileWriter fwriter = new FileWriter(fileName, true);
bwriter = new BufferedWriter(fwriter);
bwriter.write(info);
if (line) {
bwriter.newLine();
}
bwriter.flush();
} catch (IOException e) {
//e.printStackTrace();
//System.out.println("Could note write to " + fileName);
errorMessageNotify("writeexternalfile", fileName);
} finally {
if (bwriter != null) {
try {
bwriter.close();
} catch (IOException e) {
//Just ignore if couldnt close
}
}
}
}
だから私は情報を取得し、これらのメソッド呼び出しでそれを書き出すだけです.
編集: 画像へのリンク http://i1248.photobucket.com/albums/hh489/EberronBruce/NotepadDemo_zpsangaprji.jpg
http://i1248.photobucket.com/albums/hh489/EberronBruce/wordpad_zpscbu0adkb.jpg
ここに、私が何を意味するかを説明するための画像へのリンクがあります。画像を直接投稿するのに十分な評判ポイントがありません。
私は本当にすべての助けに感謝しています. 私は長い間これに頭を悩ませてきました。\t を使用してフォーマットを調整して正しく表示しようとしましたが、メモ帳の下で正しく表示されるようになると、ワードパッド、MS Word、および FireFox で表示されなくなります。