0

アプリでcsvファイルを作成しています私が直面している問題は、csvファイルを作成するための通常のコードを書いているときに、改行文字を管理できますが、コンテンツで(、)を処理できず、opencsvライブラリを使用している場合(,) を処理しますが、文字列に改行文字がある場合は、すべてのコンテンツを \n の隣に残します。それを処理する方法を提案してください。

  while (cursor.moveToNext()) 
         {
                  String _address=cursor.getString(cursor.getColumnIndexOrThrow("address"));
                  if(_address!=null)
                   writer.append(_address);
                  else
                     writer.append("Unknown");

                   writer.append(',');

                  String _body=cursor.getString(cursor.getColumnIndexOrThrow("body"));
                  if(_body.contains("\n"))
                      _body=_body.replace("\n", "\\n");
                 if(_body!=null)
                   writer.append('"'+_body+'"');
                 else
                    writer.append("");
                    writer.append(',');

                    String _IsRead=cursor.getString(cursor.getColumnIndexOrThrow("read"));
                    writer.append(_IsRead);
                    writer.append(',');
                    String SmsDate = cursor.getString(cursor.getColumnIndexOrThrow("date"));
                    writer.append(SmsDate);
                    writer.append(',');
                  // writer.append(cursor.getString(cursor.getColumnIndexOrThrow("type")));
                    if (cursor.getString(cursor.getColumnIndexOrThrow("type")).contains("1")) 
                    writer.append("Inbox");
                    else 
                    writer.append("Sent");                      
                    writer.append('\n');
            }
4

2 に答える 2

0

CSV ファイルとして書き込む前に、データを前処理できます。文字「,」は、「~」などの文字に置き換えることができますが、データ内で発生する可能性は非常に低くなります。これは絶対確実なソリューションではありませんが、作業は完了します。

于 2013-04-05T10:28:45.563 に答える