0
FileReader f0 = new FileReader("1.html");
StringBuilder sb = new StringBuilder();
BufferedReader br = new BufferedReader(f0);
while((temp1=br.readLine())!=null)
{
sb.append(temp1);
}
String para = sb.toString().replaceAll("<br>","\n");
String textonly = Jsoup.parse(para).text();
System.out.println(textonly);

FileWriter f1=new FileWriter("1.txt");
char buf1[] = new char[textonly.length()];
textonly.getChars(0,textonly.length(),buf1,0);

for(i=0;i<buf1.length;i++)
 {
 if(buf1[i]=='\n')
  f1.write("\r\n");
 f1.write(buf1[i]);

新しいテキストファイルを作成している間、このコードは複数行になります。テキストファイルは1行だけにする必要があります。これどうやってするの。

4

3 に答える 3

2

ファイルへの改行文字の\nの書き込みを停止し、複数行の作成を停止する必要があります。

于 2012-06-23T06:33:41.770 に答える
0

すべてを削除した後でも、\n複数行になります。

エラーは次のコードにあると思います。

for( i = 0; i < buf1.length; i++ )
{
     if( buf1[ i ] == '\n' )
         f1.write( "\r\n" );
     f1.write( buf1[ i ] );

改行文字\nが一致すると、ファイルに書き込み\r\n、。を使用して同じ文字をファイルに再度絞り込みますf1.write( buf1[ i ] )。を使用elseすると、ファイルへの書き込み\nが再び停止します。

for( i = 0; i < buf1.length; i++ )
{
     if( buf1[ i ] == '\n' )
     {
         f1.write( "\r\n" );
     }
     else
     {
         f1.write( buf1[ i ] );
     }
     // ...
} // for

または、三項演算子を使用して、書き込み中 に置換\nします。\r\n

f1.write( buf1[ i ] == '\n' ? "\r\n" : buf1[ i ] );
于 2012-06-23T14:25:05.080 に答える
0

<\br>と\nは同じようなものではありませんか?これを行うと、テキストに変更はありません。<\br>をスペースに置き換える必要があります。

String para = sb.toString().replaceAll("<br>"," ");
于 2012-06-23T08:00:02.713 に答える