如何在 java 中不换行地读取数据集
How to read data set without line break in java
我有如下数据集,
chris~88~alex~23~nivya~34~simon~33...........
此数据代表一些人的姓名和年龄。我如何将他们的每个名字和年龄捕获到一个 pojo 中并保存在数据库中。我需要知道我们如何使用 stringutils 从这个大字符串中获取他们的姓名和年龄。
您可以简单地使用 String
class 中的拆分方法来完成。按字符 ~
拆分,这将 return array
of string
。其中偶数索引值将是名称,奇数值将是年龄。然后你可以 map
到 pojo class 的对象并创建列表。
将字符串转换为姓名和年龄的 POJO 的代码:
public static void main(String[] args) {
String a = "chris~88~alex~23~nivya~34~simon~33";
String[] nameAge = a.split("~");
List<Person> persons = IntStream.range(0, nameAge.length).filter(x -> x % 2 == 0)
.mapToObj(i -> new Person(nameAge[i], Integer.valueOf(nameAge[i + 1]))).collect(Collectors.toList());
System.out.println(persons);
}
POJO :
class Person {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
我不知道您使用的具体数据库是什么,但这里有一种使用正则表达式拆分数据集的可能方法:
String dataset = "chris~88~alex~23~nivya~34~simon~33~tim~34~berta~12~jon~55";
String[] splitDataset = dataset.split("~");
splitDataset
现在包含所有甚至 i
的名称和所有不均匀索引的相应年龄 (i+1
)。
我有如下数据集,
chris~88~alex~23~nivya~34~simon~33...........
此数据代表一些人的姓名和年龄。我如何将他们的每个名字和年龄捕获到一个 pojo 中并保存在数据库中。我需要知道我们如何使用 stringutils 从这个大字符串中获取他们的姓名和年龄。
您可以简单地使用 String
class 中的拆分方法来完成。按字符 ~
拆分,这将 return array
of string
。其中偶数索引值将是名称,奇数值将是年龄。然后你可以 map
到 pojo class 的对象并创建列表。
将字符串转换为姓名和年龄的 POJO 的代码:
public static void main(String[] args) {
String a = "chris~88~alex~23~nivya~34~simon~33";
String[] nameAge = a.split("~");
List<Person> persons = IntStream.range(0, nameAge.length).filter(x -> x % 2 == 0)
.mapToObj(i -> new Person(nameAge[i], Integer.valueOf(nameAge[i + 1]))).collect(Collectors.toList());
System.out.println(persons);
}
POJO :
class Person {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
我不知道您使用的具体数据库是什么,但这里有一种使用正则表达式拆分数据集的可能方法:
String dataset = "chris~88~alex~23~nivya~34~simon~33~tim~34~berta~12~jon~55";
String[] splitDataset = dataset.split("~");
splitDataset
现在包含所有甚至 i
的名称和所有不均匀索引的相应年龄 (i+1
)。