Javaでファイル出力をしたいのですが、
改行コードを「\n」にしたところ「・」が入ってしまいました。
「・」が入らないような改行コード、あるいは
なにか良い対策案を教えて下さい。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

すいません。

自己補足です。(^^ゞ

System.getProperty("line.separator");

パラメータが違ってました。先のものだとファイルの区切り文字がとれちゃいますね。(^^ゞ

やり方は色々あるのでみなさんのアドバイスを参考に一番やりやすい方法を捜して下さい。
    • good
    • 1
この回答へのお礼

みなさんどうもありがとうございます。
みなさんのアドバイスを参考に自分でも
APIを調べて勉強します。

お礼日時:2001/05/30 10:14

ct27さんの回答に補足です。



ファイルに出力するのでしたら、java.io.BufferedWriterクラスを使ってみてはいかがですか?1行出力するメソッドnewLineがあります。この改行もSystem.getProperty()で改行コードを取ってきているようです。

参考URL:http://java.sun.com/products/jdk/1.2/ja/docs/ja/ …
    • good
    • 0

機種依存にならない改行コードはJavaのSystemクラスのメソッドで解決する


ことができます。

System.getProperty("file.separator");

SUNが提供しているAPIをご参照いただけるとわかるのですが、System#getProperties()
というメソッドの説明の部分にパラメータが載っていますので是非ご覧になって下さい。
    • good
    • 0

\nがLFで0A


\rがCRで0D

ですね。
Windows依存であれば、\r\nにすればOKです。
プラットフォーム非依存にしたければ、行単位で出力する文法を使って処理するようにして、自分で改行コードをいれないようにする必要がありますね。

参考URL:http://www.asahi-net.or.jp/~dp8t-asm/java/tips/C …
    • good
    • 1

単純に\nというのはOSによってCR+LFだったり、


CRのみだったりLFのみだったりします。
「・」が入ったということは、Windowsで出力して、
何か他のOSで見たのではないでしょうか?

どうしてもLFだけにしたければ、\nではなく\x0aと
表記するべきでしょう。

ではでは☆
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QjavaにおけるCSV出力時の文字コード改行コード

JavaでCSVを出力する処理を作りました。

下記コードだとUnix環境で文字コードSJISで改行コードLFで出力されますが、
Windows環境でもUnix環境でも一律、文字コードSJISで改行コードCRLFで出力されるようにしたいです。

何かいい方法はありませんでしょうか。

なお、printlnで出力している行が多い為、
bw,Print("日付" + 変数A + \r\n);
というふうに一行づつ変更するのは避けたいと思っております。


try{

PrintWriter bw = new PrintWriter(new BufferdWriter(new OutputStreamWriter(new FileOutputStream(/tmp/test.csv),"SJIS")));

bw.println("日付" + 変数A);
bw.println("氏名" + 変数B);




}catch(Exception e){
// ログに出力
}

Aベストアンサー

System.setProperty("line.separator", "\r\n"); とすればbw.println()での出力改行コードを強制的にCRLFにできると思います。
ただし、この方法は特定のbwオブジェクトだけではなくline.separatorプロパティを参照する全てのコードが影響を受けるので、副作用に注意が必要です。

Q改行コード(\n)を削除したい場合

テキストエリア(Swing)に
"test1"
"test2"
と入力されたものを、
ひとつにつなげたいのですが、
test1の後に\n?が入っているため、
うまくつながりません・・・。
どうすれば\nを消せるでしょうか?
ちなみにtest1に対してindexOf('\n');で検索したら-1とでます。
2つの文字列はStringTokenizer st = new StringTokenizer(txtAreaString, "\n");
で取得しています。

よろしくお願いします。

Aベストアンサー

実際にやってみてはいないのですが、test1に対してtrim()を実行するのではだめでしょうか…。

使い方は、ご存知と思いますがこんな感じです。
String str1 = test1.trim();

JavaDocを見る限り、『このメソッドは文字列の先頭と最後から空白を切り取るために使用できます。この場合、実際には、すべての ASCII 制御文字も切り取りられます。』とあるので、タブや改行なども切り取られるような気がします。

QUTF-8での改行"\n"について

ほかに質問されている方がいらっしゃらないようですので、質問いたします。

ダイアログがでて、どちらか選択させるというJavaScriptを作成しているのですが、
文字コードを“UTF-8”にすると、
ダイアログで表示させる文字列の改行がうまくいきません。(厳密にいうと、"\n"が利きません。)
どうしたらよいのでしょうか?
以下例文です。


<SCRIPT LANGAGE="JavaScript">
<!--
confirm("インストールされていません。\nダウンロードしますか?");
-->
</SCRIPT>

解決法をご存じの方はご教授ください。
よろしくお願いいたします。

Aベストアンサー

原因は分かりませんが、文字コードのみの問題ではなく、環境に依存した問題と思われます。
私の環境(WindowsMe+IE6)では、METAタグで文字コードを指定すれば正しく動作しています。

QJAVA Spring 改行コードを含む文字列をjspファイルでメッセージボックスに表示する方法

javaの初心者です。フレームワークはSpringを使って開発しています。
Javaで改行の入った文字列をjspファイルでJava scriptでメッセージボックスに表示させたいのですが、「1行目\n2行目」と表示されてしまい、改行されません。
ソースを抜粋したものは、下記のとおりです。


コントローラ
@RequestMapping(value = "/pm", params = "nyuko", produces = "text/plain;charset=UTF-8", method = RequestMethod.POST)
public String nyuko(@ModelAttribute FormNyuko formNyuko, Model model, HttpServletRequest request,
HttpServletResponse response, HttpSession session, Map<String, String> map)
throws ServletException, IOException {

   String CRLF = "\n";
   ErrorMessage = "1行目" + CRLF
ErrorMessage = ErrorMessage + "2行目"
   map.put("ErrorMessage", ErrorMessage);
}


JSPファイル

<SCRIPT type="text/javascript">
function onLoad(){
if("${ErrorMessage}" != ""){
alert("${ErrorMessage}");
}
}
</script>

</head>
<body onLoad="onLoad()" bgcolor="#FFDAB9">


うまく改行させる方法を、どなかたご教授いただければ幸いです。

javaの初心者です。フレームワークはSpringを使って開発しています。
Javaで改行の入った文字列をjspファイルでJava scriptでメッセージボックスに表示させたいのですが、「1行目\n2行目」と表示されてしまい、改行されません。
ソースを抜粋したものは、下記のとおりです。


コントローラ
@RequestMapping(value = "/pm", params = "nyuko", produces = "text/plain;charset=UTF-8", method = RequestMethod.POST)
public String nyuko(@ModelAttribute FormNyuko formNyuko, Model model, HttpServl...続きを読む

Aベストアンサー

No.1です。

一応、

<html>
<head>
<title>alear test</title>
<SCRIPT type="text/javascript">
function onLoad(){
if ("1行目\n2行目" != "") {
alert("1行目\n2行目");
}
}
</script>
</head>
<body onLoad="onLoad()" bgcolor="#FFDAB9">
body
</body>
</html>

という内容のhtmlファイルを作って、ブラウザで表示してみて大丈夫だったので、回答してしまったのですが、よく考えてみると、サーブレット側で
String CRLF = "\n";
とすると、function onLoadの部分が、

function onLoad(){
if ("1行目
2行目" != "") {
alert("1行目
2行目");
}
}

となってしまうかも知れませんね。
これは、改行がほんとの改行になってしまって、改行文字(\n)の指定にならなくなってしまうからです。

なので、
String CRLF = "\\n";
としてみてください。
これで、"\n"が"\n"のまま出力されます。

No.1です。

一応、

<html>
<head>
<title>alear test</title>
<SCRIPT type="text/javascript">
function onLoad(){
if ("1行目\n2行目" != "") {
alert("1行目\n2行目");
}
}
</script>
</head>
<body onLoad="onLoad()" bgcolor="#FFDAB9">
body
</body>
</html>

という内容のhtmlファイルを作って、ブラウザで表示してみて大丈夫だったので、回答してしまったのですが、よく考えてみると、サーブレット側で
String CRLF = "\n";
とすると、function onLoadの部分が、

function onLoad(){
if ("1行目
2行目"...続きを読む

QNクィーン問題のJAVAソースコード

お世話になっております。
Nクィーン問題のJAVAプログラムソースを探しています。C言語では見つかるのですが、JAVAでは見つかりません。どこで見つけられるのかご存知の方がおられましたら教えて頂けるとうれしいです!
よろしくお願い致します。

Aベストアンサー

これなんてどうでしょうか?(参考URL)

参考URL:http://www.tokumaru.org/techterm/8queen.html


このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング

おすすめ情報