mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
add comment
This commit is contained in:
parent
b107e5e0e8
commit
219561b43b
@ -1,7 +1,8 @@
|
|||||||
/**
|
/**
|
||||||
* 提供CSV文件读写的封装,入口为CsvUtil
|
* 提供CSV文件读写的封装,入口为CsvUtil<br>
|
||||||
|
* 规范见:https://datatracker.ietf.org/doc/html/rfc4180
|
||||||
*
|
*
|
||||||
* @author looly
|
* @author looly
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
package cn.hutool.core.text.csv;
|
package cn.hutool.core.text.csv;
|
||||||
|
@ -3,7 +3,6 @@ package cn.hutool.core.date;
|
|||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.date.BetweenFormatter.Level;
|
import cn.hutool.core.date.BetweenFormatter.Level;
|
||||||
import cn.hutool.core.date.format.FastDateFormat;
|
import cn.hutool.core.date.format.FastDateFormat;
|
||||||
import cn.hutool.core.lang.Console;
|
|
||||||
import cn.hutool.core.util.RandomUtil;
|
import cn.hutool.core.util.RandomUtil;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@ -692,7 +691,6 @@ public class DateUtilTest {
|
|||||||
@Test
|
@Test
|
||||||
public void parseCSTTest() {
|
public void parseCSTTest() {
|
||||||
String dateStr = "Wed Sep 16 11:26:23 CST 2009";
|
String dateStr = "Wed Sep 16 11:26:23 CST 2009";
|
||||||
Console.log(TimeZone.getDefault().getDisplayName());
|
|
||||||
|
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat(DatePattern.JDK_DATETIME_PATTERN, Locale.US);
|
SimpleDateFormat sdf = new SimpleDateFormat(DatePattern.JDK_DATETIME_PATTERN, Locale.US);
|
||||||
// Asia/Shanghai是以地区命名的地区标准时,在中国叫CST,因此如果解析CST时不使用"Asia/Shanghai"而使用"GMT+08:00",会导致相差一个小时
|
// Asia/Shanghai是以地区命名的地区标准时,在中国叫CST,因此如果解析CST时不使用"Asia/Shanghai"而使用"GMT+08:00",会导致相差一个小时
|
||||||
@ -995,11 +993,13 @@ public class DateUtilTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void parseSingleMonthAndDayTest() {
|
public void parseSingleMonthAndDayTest() {
|
||||||
final DateTime parse = DateUtil.parse("2021-1-1");
|
DateTime parse = DateUtil.parse("2021-1-1");
|
||||||
Assert.assertNotNull(parse);
|
Assert.assertNotNull(parse);
|
||||||
Assert.assertEquals("2021-01-01 00:00:00", parse.toString());
|
Assert.assertEquals("2021-01-01 00:00:00", parse.toString());
|
||||||
|
|
||||||
Console.log(DateUtil.parse("2021-1-22 00:00:00"));
|
parse = DateUtil.parse("2021-1-22 00:00:00");
|
||||||
|
Assert.assertNotNull(parse);
|
||||||
|
Assert.assertEquals("2021-01-22 00:00:00", parse.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -8,7 +8,7 @@ import org.junit.Test;
|
|||||||
import java.io.StringReader;
|
import java.io.StringReader;
|
||||||
|
|
||||||
public class CsvParserTest {
|
public class CsvParserTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void parseTest1() {
|
public void parseTest1() {
|
||||||
StringReader reader = StrUtil.getReader("aaa,b\"bba\",ccc");
|
StringReader reader = StrUtil.getReader("aaa,b\"bba\",ccc");
|
||||||
@ -18,7 +18,7 @@ public class CsvParserTest {
|
|||||||
Assert.assertEquals("b\"bba\"", row.getRawList().get(1));
|
Assert.assertEquals("b\"bba\"", row.getRawList().get(1));
|
||||||
IoUtil.close(parser);
|
IoUtil.close(parser);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void parseTest2() {
|
public void parseTest2() {
|
||||||
StringReader reader = StrUtil.getReader("aaa,\"bba\"bbb,ccc");
|
StringReader reader = StrUtil.getReader("aaa,\"bba\"bbb,ccc");
|
||||||
@ -28,7 +28,7 @@ public class CsvParserTest {
|
|||||||
Assert.assertEquals("\"bba\"bbb", row.getRawList().get(1));
|
Assert.assertEquals("\"bba\"bbb", row.getRawList().get(1));
|
||||||
IoUtil.close(parser);
|
IoUtil.close(parser);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void parseTest3() {
|
public void parseTest3() {
|
||||||
StringReader reader = StrUtil.getReader("aaa,\"bba\",ccc");
|
StringReader reader = StrUtil.getReader("aaa,\"bba\",ccc");
|
||||||
@ -38,7 +38,7 @@ public class CsvParserTest {
|
|||||||
Assert.assertEquals("bba", row.getRawList().get(1));
|
Assert.assertEquals("bba", row.getRawList().get(1));
|
||||||
IoUtil.close(parser);
|
IoUtil.close(parser);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void parseTest4() {
|
public void parseTest4() {
|
||||||
StringReader reader = StrUtil.getReader("aaa,\"\",ccc");
|
StringReader reader = StrUtil.getReader("aaa,\"\",ccc");
|
||||||
@ -48,4 +48,16 @@ public class CsvParserTest {
|
|||||||
Assert.assertEquals("", row.getRawList().get(1));
|
Assert.assertEquals("", row.getRawList().get(1));
|
||||||
IoUtil.close(parser);
|
IoUtil.close(parser);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void parseEscapeTest(){
|
||||||
|
// https://datatracker.ietf.org/doc/html/rfc4180#section-2
|
||||||
|
// 第七条规则
|
||||||
|
StringReader reader = StrUtil.getReader("\"b\"\"bb\"");
|
||||||
|
CsvParser parser = new CsvParser(reader, null);
|
||||||
|
CsvRow row = parser.nextRow();
|
||||||
|
Assert.assertNotNull(row);
|
||||||
|
Assert.assertEquals(1, row.size());
|
||||||
|
Assert.assertEquals("b\"bb", row.get(0));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user