将csv格式文件解析成java个数组,用于生成ldif格式文件
parse csv format file into java arrays for generating ldif format file
我是java编码区的菜鸟,
我正在尝试解析一个 csv 格式的文件,只用逗号 (,) 分隔
该文件包括用户的帐户名和真实姓名,
例如,它看起来像:tom123,Tom Halland,kelly02,Kelly Chen,..等等,
我想使用 java 将这些用户的数据解析成类似于数组的东西,
所以我可以重用这个数组,然后生成ldif格式文件并将其导入LDAP服务器以自动创建帐户,
有没有更简单的方法呢?或者对我有什么技术建议?
非常感谢!
我正在分享我以前的一项作业中的代码片段。基本上代码执行以下任务:
1) 逐行读取CSV文件
2) 在预定义字符的帮助下将每一行拆分为标记(如果是 csv,则为 ',')
3) 以所需的 ldif 格式生成字符串形式的记录
4) 将记录写入输出文件
String inputCSVFile = "/input_folder_path/sample.csv";
BufferedReader bufferedReader = null;
String lines = "";
String splitChar = ",";
String[] columns;
int count = 0;
try {
PrintStream printStream = new PrintStream(new FileOutputStream("/output_folder_path/e.ldif"));// Step 1
bufferedReader = new BufferedReader(new FileReader(inputCSVFile));
while ((lines = bufferedReader.readLine()) != null) {
columns = lines.split(splitChar);// Step 2
if (count > 0) {// Step 3 ,4
printStream.println("dn: cn="+columns[1]+", ou="+columns[2]+", o=Data"
+ "\ngivenName: "+columns[0]
+ "\nsn: "+columns[3]
+ "\n"
);
}
count++;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
我是java编码区的菜鸟, 我正在尝试解析一个 csv 格式的文件,只用逗号 (,) 分隔 该文件包括用户的帐户名和真实姓名, 例如,它看起来像:tom123,Tom Halland,kelly02,Kelly Chen,..等等, 我想使用 java 将这些用户的数据解析成类似于数组的东西, 所以我可以重用这个数组,然后生成ldif格式文件并将其导入LDAP服务器以自动创建帐户, 有没有更简单的方法呢?或者对我有什么技术建议? 非常感谢!
我正在分享我以前的一项作业中的代码片段。基本上代码执行以下任务:
1) 逐行读取CSV文件
2) 在预定义字符的帮助下将每一行拆分为标记(如果是 csv,则为 ',')
3) 以所需的 ldif 格式生成字符串形式的记录
4) 将记录写入输出文件
String inputCSVFile = "/input_folder_path/sample.csv";
BufferedReader bufferedReader = null;
String lines = "";
String splitChar = ",";
String[] columns;
int count = 0;
try {
PrintStream printStream = new PrintStream(new FileOutputStream("/output_folder_path/e.ldif"));// Step 1
bufferedReader = new BufferedReader(new FileReader(inputCSVFile));
while ((lines = bufferedReader.readLine()) != null) {
columns = lines.split(splitChar);// Step 2
if (count > 0) {// Step 3 ,4
printStream.println("dn: cn="+columns[1]+", ou="+columns[2]+", o=Data"
+ "\ngivenName: "+columns[0]
+ "\nsn: "+columns[3]
+ "\n"
);
}
count++;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}