5

したがって、私のコードは次のようになります。

try {
    while ((line = br.readLine()) != null) {
        Matcher m = urlPattern.matcher (line);
        while (m.find()) {
            System.out.println(m.group(1));

            //the println puts linebreak after each find

            String filename= "page.txt";
            FileWriter fw = new FileWriter(filename,true);
            fw.write(m.group(1));
            fw.close();

            //the fw writes everything after each find with no line break
    }
}

行で正しい形式の出力を取得しますSystem.out.println(m.group(1));ただし、後で表示される内容を書きたい場合はm.group(1)、コードに改行がないため、改行を入れずにファイルに書き込みます。

4

4 に答える 4

27

電話するだけfw.write(System.getProperty("line.separator"));です。

System.getProperty("line.separator")プラットフォーム (Windows または一部の Unix フレーバー) の行区切りを提供します。

于 2013-07-18T06:38:05.837 に答える
1

ただする

fw.write("\n");

新しい行にエスケープ文字を入れます

于 2013-07-18T06:37:00.963 に答える