@@ -2324,12 +2324,14 @@ private void printWithEscapes(final CharSequence charSeq, final Appendable appen
23242324 final char [] delimArray = getDelimiterCharArray ();
23252325 final int delimLength = delimArray .length ;
23262326 final char escape = getEscapeChar ();
2327+ final boolean quoteSet = isQuoteCharacterSet ();
2328+ final char quote = quoteSet ? getQuoteCharacter ().charValue () : 0 ;
23272329 while (pos < end ) {
23282330 char c = charSeq .charAt (pos );
23292331 final boolean isDelimiterStart = isDelimiter (c , charSeq , pos , delimArray , delimLength );
23302332 final boolean isCr = c == Constants .CR ;
23312333 final boolean isLf = c == Constants .LF ;
2332- if (isCr || isLf || c == escape || isDelimiterStart ) {
2334+ if (isCr || isLf || c == escape || quoteSet && c == quote || isDelimiterStart ) {
23332335 // write out segment up until this char
23342336 if (pos > start ) {
23352337 appendable .append (charSeq , start , pos );
@@ -2368,6 +2370,8 @@ private void printWithEscapes(final Reader reader, final Appendable appendable)
23682370 final char [] delimArray = getDelimiterCharArray ();
23692371 final int delimLength = delimArray .length ;
23702372 final char escape = getEscapeChar ();
2373+ final boolean quoteSet = isQuoteCharacterSet ();
2374+ final char quote = quoteSet ? getQuoteCharacter ().charValue () : 0 ;
23712375 final StringBuilder builder = new StringBuilder (IOUtils .DEFAULT_BUFFER_SIZE );
23722376 int c ;
23732377 final char [] lookAheadBuffer = new char [delimLength - 1 ];
@@ -2379,7 +2383,7 @@ private void printWithEscapes(final Reader reader, final Appendable appendable)
23792383 final boolean isDelimiterStart = isDelimiter ((char ) c , test , pos , delimArray , delimLength );
23802384 final boolean isCr = c == Constants .CR ;
23812385 final boolean isLf = c == Constants .LF ;
2382- if (isCr || isLf || c == escape || isDelimiterStart ) {
2386+ if (isCr || isLf || c == escape || quoteSet && c == quote || isDelimiterStart ) {
23832387 // write out segment up until this char
23842388 if (pos > start ) {
23852389 append (builder .substring (start , pos ), appendable );
0 commit comments