为什么含转义字符的输入数据记录到Bad Records中的值与原始数据不同?
问题
为什么含转义字符的输入数据记录到Bad Records中的值与原始数据不同?
回答
转义字符以反斜线"\"开头,后跟一个或几个字符。如果输入记录包含类似\t,\b,\n,\r,\f,\',\",\\的转义字符,Java将把转义符'\'和它后面的字符一起处理得到转义后的值。
例如:如果CSV数据类似“2010\\10,test”,将这两列插入“String,int”类型时,因为“test”无法转换为int类型,表会将这条记录重定向到Bad Records中。但记录到Bad Records中的值为“2010\10”,Java会将原始数据中的“\\”转义为“\”。