我的问题是完全一样this问题,但我不能用提到的解决方案。
禁用完全QuoteCharacter在DelimitedLineTokenizer
之和行动: CSV文件读取,但包含这样Everything is ok&"some text& this must be another field"&
双引号......(&是分隔符)
因此,通过这个例子中,分析是错误的,因为它assignes多个领域的一个
由于csv中的文本种类繁多(无安全quoteCharacter),上述问题的答案将无济于事。
我也试图通过把这段代码xml配置里面禁用quoteCharacter:
<bean id="lineTokenizer"
class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
<property name="delimiter" value="&" />
<property name="quoteCharacter" value="" />
...
但有一个很好的例外:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'customLineMapper' defined in class path resource [migration-job.xml]: Cannot resolve reference to bean 'lineTokenizer' while setting bean property 'lineTokenizer'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'lineTokenizer' defined in class path resource [migration-job.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'char' for property 'quoteCharacter'; nested exception is java.lang.IllegalArgumentException: String [] with length 0 cannot be converted to char type
是否有可能不分配读取双引号quoteCharacter常量,或其他可能解决这个问题的东西?
UPDATE: 也试过这样:
bean id="lineTokenizer"
class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
<property name="delimiter" value="&" />
<property name="quoteCharacter"><null/></property>
却得到了另一个异常:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'customLineMapper' defined in class path resource [migration-job.xml]: Cannot resolve reference to bean 'lineTokenizer' while setting bean property 'lineTokenizer'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'lineTokenizer' defined in class path resource [migration-job.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'null' to required type 'char' for property 'quoteCharacter'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [null] to required type [char] for property 'quoteCharacter': PropertyEditor [org.springframework.beans.propertyeditors.CharacterEditor] returned inappropriate value of type [null]
您是否尝试将值设置为' '? –
@bellabax我现在尝试null - 更新的问题,仍然没有:( – dimzak