将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();
                }
            }
        }