1

ascii 構造化ファイルを処理する必要があります。与えられたファイル構造を尊重できるように、これらの 2 つの定数バイトをすべての行の末尾に配置する必要があります。

private final static int ENDRECORD = 0x0d;
private final static int ENDLINE = 0x0a;

古典的な "\n" かどうかわかりませんが、これら 2 つの変数を文字列の末尾に配置する方法はありますか? お気に入り:

文字列行 = 行 + ENDRECORD + ENDLINE; //これは間違っています

4

4 に答える 4

2

あなたは近くにいます。と'\r'です'\n'

System.out.println((int) '\r');
System.out.println((int) '\n');

出力:

13
10

0x0dそれぞれ とです0x0a。用途char:

private final static char ENDRECORD = '\r';
private final static char ENDLINE = '\n';

String line = line + ENDRECORD + ENDLINE;

StringBuilderさらに、連結の代わりに効率のために使用できます。これを機能させる必要はありませんが、 と連結する代わりに文字列を作成するために使用するのが標準+です。

于 2013-09-23T16:56:06.270 に答える
1

代わりに、定数を文字列に変更してください。

private final static String ENDRECORD = "\r";
private final static String ENDLINE = "\n";

次に、既存の連結は問題ないはずです。

charもいいでしょう:

private final static char ENDRECORD = '\r'; // Or (char) 0x0d
private final static char ENDLINE = '\n';   // Or (char) 0x0a

文字は、バイトや整数値ではなく、文字と考える必要があります。これにより、テキストの処理がはるかに簡単になります。

于 2013-09-23T16:56:05.280 に答える
0

データ型を に変更する必要がありますchar

String myFullLine = line + (char)ENDRECORD + (char)ENDLINE;

複数の行でこれを行うことを計画している場合は、StringBuilder.

于 2013-09-23T16:54:26.683 に答える