我现在正在学习opencsv,CSVParser中的方法parseLine(String nextLine,boolean multi)有点复杂。 CSVParser类中字段'inField'的内容是什么? 'inQuotes'和'fromQuotedField'在方法parseLine(String nextLine,boolean multi)中表示什么?谢谢!
关于CSVParser中的第112行:private boolean inField = false;
parseLine中的348行(String nextLine,boolean multi):
boolean inQuotes = false;
boolean fromQuotedField = false;
答案 0 :(得分:0)
inQuotes告诉解析器它正在读取的数据在一个带引号的字符串中 - 所以如果满足一个delemeter字符,那么它就是字符串的一部分,而不是开始一个新字段的信号。
inField具有基本相同的功能,但它是一个全局变量(并且它不依赖于引用)。 openCSV需要知道这一点的原因是CSVReader一次只提供一行 - 所以如果其中一个字段中有换行符,则需要多次调用CSVParser来构建一个完整的记录。因此parseLineMulti。
fromQuoteFields是feature request #60的新增内容。如果字段为空字符串或null,则与空字段指示符一起使用以检测是否有一组空引号。