0

に特定のテキストを表示するリマインダー アプリを作成していJTextAreaます。そのテキストはconsol argument、Java アプリを起動するとき、または (引数が使用できない場合)JTextAreaテキストを入力できる別のカスタム ダイアログを使用して渡すことができます。

リマインダーに段落 (改行) を入れたいです。Enter内部の設定ダイアログを押すと、JTextArea完全に機能します。しかし、Statement1\nStatement2入力すると、2 行ではなくこのテキストが正確に表示されます (Enterコンソール内に a を入力することはできませんよね?)。コードをデバッグすると、すべての文字が特定され、\n を 1 つの文字としてではなく、バックスラッシュが 2 つのバックスラッシュに変換されます。したがって、文字\nは and に分割されます\\( n--> 制御記号はもうありません)。テキストを引数としてコンソールから同じことが起こります。

\n私はすでにand\r\n\\norを試し\\\nましたが、各文字を特定して変換します。

バックスラッシュと n が一緒にあることを Java が認識できるようにするにはどうすればよいですか? 新しい回線を取得するにはどうすればよいですか?

4

2 に答える 2

2

これは Java とは関係ありません。Unix 端末を入力Enterするには、引用符で囲むか、前にバックスラッシュまたは type を付けCtrl-Vます。

$ echo "hello
> world"
hello
world

Windows では、エスケープ コードとしてcmd.exe使用します。^

C:\>java ClassName param1^
More?                                                           (press Enter)
More? param2
于 2013-09-05T16:17:30.210 に答える
1

コマンド ライン引数で区切り文字として \n を使用する場合は、すべての文字がこの方法でエスケープされるため、コード内で置き換える必要があります。次のようなものを試すことができます:

public static void main(String[] args){
    String formattedString = args[0].replaceAll("\\\\n","\n");
    ...
}
于 2013-09-05T16:25:46.453 に答える