• ベストアンサー

続続 1レコードを2レコードに分けて出力

QNo.7590029で解決した件で //レコード改行 out.append('\n'); で表裏のデータがテキスト入出力出来たのですが メモ帳等エディタで開くと改行されてないことが 判明しました。 イメージですが表裏のレコードが 1レコードのままになっており、 表, 1, テレビ, カメラ, クーラー,裏, 扇風機, パソコンと入出力後も改行されてません。 テキストエディタ上では表裏の改行がされていたので 問題ないと思ったのですが 印刷指示がかからなく困っております。 アドバイスお願いします。

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

\n (CR) では、メモ帳で改行がかかりません。ワードパッドでは改行がかかります。 メモ帳で改行がかかるようにしたいなら、\r\n (CR LF) と書くか、System.lineSeparator() でシステム依存の改行文字を取得してください。 ちなみに BufferedReader では、以下のように改行を判定していたので、CR, CR LF, LF のいずれも改行と判断します。 ---- if ((c == '\n') || (c == '\r')) { eol = true; break charLoop; } ----

ITJack
質問者

お礼

\r\n で印刷指示がかかりました。 助かりました。 どうもありがとうございました。

関連するQ&A

  • 続 1レコードを2レコードに分けて出力したい

    while( (line1=buf.readLine()) != null ) { 前スレQNo.7590029で解決した件で 今回は |(バーティカルバー)区切りで対応したいのですが 下記のようにカンマ部分を|(バーティカルバー)に置き換えると 配列ごとに1文字ずつ区切れてしまうのですが どのあたりを見直す形になるのでしょうか?? よろしくお願いします。 String[] 配列 = line1.split("|"); StringBuffer out = new StringBuffer(); //表レコード out.append("表"+"|"+連続番号+"|"+配列[0]+"|"+配列[1]+"|"+配列[2]); //レコード改行 out.append('\n'); //裏レコード out.append("裏"+"|"+配列[3]+"|"+配列[4]);

    • ベストアンサー
    • Java
  • 1レコードを2レコードに分けて出力したい

    このソースでテキスト入出力しますと 連続番号を付加して入出力できます。 さらに 下記のようにしたいのです。 例    1レコード目 1,テレビ,カメラ,クーラー,扇風機,パソコン 2レコード目 2,時計,マッサーサージ機,HDD,USB,扇風機 入出力後に(先頭に表・裏の"文字"を付加) 1レコード目   表, 1, テレビ, カメラ, クーラー 2レコード目   裏, 扇風機, パソコン 3レコード目   表, 2, 時計, マッサーサージ機, HDD 4レコード目   裏, USB, 扇風機 としたいのです。 1レコード分のデータを表と裏に分けて2レコードずつ出力するのが 目的になります。(先頭に表・裏の文字を付加) ですので1000レコードでしたらテキスト入出力後2000レコードになります。 下記のような連続番号を付加して入出力する場合 どの箇所を見直す必要があるのでしょうか?? どうぞよろしくお願いします。 package hoge.hoge.com; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class HelloWorld { private static String inFileName = "c:\\in.txt"; private static String outFileName = "c:\\out.txt"; /* Shift_JIS, ISP-2022-JP, EUC-JP Windows-31J */ /* 出力時に JISAutoDetect の指定は不可 */ private static String outFileCoding = "Shift_JIS"; public static void main(String[] args) { try{ String line; int i = 0; BufferedReader buf = new BufferedReader( new InputStreamReader( new FileInputStream( inFileName ), "JISAutoDetect" ) ); /* ファイルが存在しない場合には新たに作成.存在する場合には上書き */ BufferedWriter outFile = new BufferedWriter( new OutputStreamWriter( new FileOutputStream( outFileName ), outFileCoding ) ); while( (line=buf.readLine()) != null ) { StringBuffer out = new StringBuffer(); i++; out.append(Integer.toString(i)); out.append(":"); out.append(line); outFile.write(out.toString()); outFile.newLine(); System.out.println(out); } buf.close(); outFile.flush(); outFile.close(); } catch(IOException e) { e.printStackTrace(); System.exit(1); } } }

    • ベストアンサー
    • Java
  • 【テキスト】改行コードCR+LFの時だけ改行したい

    こんにちは。 HTMLを記述したテキストを含むCSVファイルを、 メモ帳で開くと1行で表示されるのですが、 それをexcelや、テキストエディターで開くと メモ帳で改行していないところで改行されてしまいます。 おそらく、テキストエディターでHTMLを書いた部分は途中で改行されないのですが、 Dreamweaverで書いた部分で改行が入っている様なのです。 調べると、改行コードというのがいくつかあり、メモ帳では改行されないが、 その他の高機能エディターでは改行するコードがあり、 それが途中に入っている様な感じです。 メモ帳で開く様に、改行コードCR+LFの時だけ改行して、 改行していないところでは改行を入れないで開きたいのです。 この、「メモ帳では改行しない改行コード」だけを取り除いて保存することはできるのでしょうか。 高額なテキストエディターでは、そのような事ができるようなのですが、 できればフリーソフトで完結したいです。 よろしくお願いします。

  • 改行コードの入っていないテキストファイルが開けるテキストエディタは?

    1レコードが256バイトのテキストデータが格納されているファイルがあるのですが、このファイルには改行コードが入っていません。 テキストエディタにてファイルの中身を確認したいのですが、メモ帳ですときれいに表示できません。 1行256バイトで表示できるフリーのテキストエディタをどなたかご存知でしょうか。 ご存知の方がいらっしゃいましたら教えてください。 お願いします。

  • お勧めのテキストエディタありませんか

    Windowsのメモ帳を下書きに使っていますが、改行が入ったりしてあまり使い勝手が良くありません、テキストエディタもいろいろありますがお勧めのエディタがあれば教えてください、シンプルなものでいいです。

  • Webページをメモ帳にコピー

    Webページのテキスト文をメモ帳にコピーして ネットにつながらない外出先で メモ帳を読んでいます。 Webページをメモ帳にコピーすると、 改行されずに非常に読みにくいです。 読みやすくするために手作業で改行しているのですが、 自動で改行できないでしょうか? 使っているエディタはUnEditorです。

  • コピペで改行が無効になる。

    テキスト形式のメールの本文をコピーして、メモ帳などのエディタにペーストすると、改行が無効になってしまいますが、改行を生かしてコピペする方法はないのでしょうか?

  • テキストエディタって何ですか?

    PHPを勉強していますが、テキストエディタで開くように指示がありました。メモ帳等では開けないとの表記がありましたが、開けました。 素人のため、どうしてテキストエディタで開く必要があるのかがわかりません。 テキストエディタとは何なのかを教えていただけませんか? また、フリーソフトで使いやすく、便利なものがあれば教えてください。 お手数ですが、よろしくお願いいたします。

  • C++でのCRLFについて

    VisualC++を使っています。 CStringを使ってテキストファイルに出力するのですが、 \r\nを入れると、2重に改行されるようなのです。 これはエディタの仕様によるのかもしれませんが、 メモ帳なら正常に改行されますが、NoEditorやExcelで開くと、 2重に改行されてしまいます。 \nにするとどのエディタでもうまくいきます。 WindowsではCRLFが改行ということで\r\nにしましたが、 どういうことなのでしょうか? CStringの影響でしょうか?

  • マイフェスで作成したテキストファイルについて

    MIFES(マイフェス)を使ってテキストファイル(.txt)を作成しています。 作成したファイルをマイフェスで開く分には何の問題もないのですが、 Windowsのメモ帳で開くと、 改行している場所に「↑」と表示されており改行されません。 例えばマイフェスで、  あいうえお  かきくけこ という文章のテキストファイルを作成し、これをメモ帳で開くと、  あいうえお↑かきくけこ と表示されてしまいます。 他のエディタで開いても正常に改行されるようにするには どうしたらよいでしょうか。