mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
修复\n#出现在双引号中解析错误问题
This commit is contained in:
parent
41cf55184a
commit
0662e77c0a
@ -260,7 +260,8 @@ public final class CsvParser extends ComputeIter<CsvRow> implements Closeable, S
|
|||||||
if(preChar < 0 || preChar == CharUtil.CR || preChar == CharUtil.LF){
|
if(preChar < 0 || preChar == CharUtil.CR || preChar == CharUtil.LF){
|
||||||
// 判断行首字符为指定注释字符的注释开始,直到遇到换行符
|
// 判断行首字符为指定注释字符的注释开始,直到遇到换行符
|
||||||
// 行首分两种,1是preChar < 0表示文本开始,2是换行符后紧跟就是下一行的开始
|
// 行首分两种,1是preChar < 0表示文本开始,2是换行符后紧跟就是下一行的开始
|
||||||
if(null != this.config.commentCharacter && c == this.config.commentCharacter){
|
// issue#IA8WE0 如果注释符出现在包装符内,被认为是普通字符
|
||||||
|
if(!inQuotes && null != this.config.commentCharacter && c == this.config.commentCharacter){
|
||||||
inComment = true;
|
inComment = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,29 @@
|
|||||||
|
package org.dromara.hutool.poi.csv;
|
||||||
|
|
||||||
|
import org.dromara.hutool.core.io.file.FileUtil;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* https://gitee.com/dromara/hutool/issues/IA8WE0
|
||||||
|
*/
|
||||||
|
public class IssueIA8WE0Test {
|
||||||
|
@Test
|
||||||
|
void csvReadTest() {
|
||||||
|
final CsvReader csvReader = new CsvReader();
|
||||||
|
final CsvData read = csvReader.read(FileUtil.file("issueIA8WE0.csv"));
|
||||||
|
final List<CsvRow> rows = read.getRows();
|
||||||
|
|
||||||
|
assertEquals(1, rows.size());
|
||||||
|
assertEquals(3, rows.get(0).size());
|
||||||
|
assertEquals("c1_text1", rows.get(0).get(0));
|
||||||
|
// 如果\n#出现在双引号中,表示实际的文本内容,并不算注释
|
||||||
|
assertEquals("c1_text2\n#c1_text2_line2", rows.get(0).get(1));
|
||||||
|
assertEquals("c1_text3", rows.get(0).get(2));
|
||||||
|
|
||||||
|
csvReader.close();
|
||||||
|
}
|
||||||
|
}
|
2
hutool-poi/src/test/resources/issueIA8WE0.csv
Normal file
2
hutool-poi/src/test/resources/issueIA8WE0.csv
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
c1_text1,"c1_text2
|
||||||
|
#c1_text2_line2",c1_text3
|
|
Loading…
x
Reference in New Issue
Block a user