Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否以特定格式打印csv文件?_Java_Csv_Opencsv - Fatal编程技术网

Java 是否以特定格式打印csv文件?

Java 是否以特定格式打印csv文件?,java,csv,opencsv,Java,Csv,Opencsv,我正在读取一个csv文件,该文件具有以下布局: CS4092,B CS2013,A CS8291,C CS0927,D CS0281,A 在连接每对行以形成unparsedFile时,需要在每对行之间插入逗号 否则,unparsedFile将包含: CS4092、BCS2013、ACS8291、CCS0927、DCS0281、A int i = 0; for (String item : myArray) { System.out.print(item)

我正在读取一个csv文件,该文件具有以下布局:

CS4092,B CS2013,A CS8291,C CS0927,D CS0281,A
在连接每对行以形成unparsedFile时,需要在每对行之间插入逗号

否则,unparsedFile将包含:

CS4092、BCS2013、ACS8291、CCS0927、DCS0281、A

    int i = 0;
    for (String item : myArray)
    {

        System.out.print(item);//It doent add a new line after printing the item
        if (++i % 2 != 0)
        {
            System.out.println(("-")); //if just one printed just append -
        }
        else
        {
            System.out.println(); //else put a new line and reset the flag
            i=0;

        }
    }
您需要它包含:


CS4092、B、CS2013、A、CS8291、C、CS0927、D、CS0281、A

您正在将所有行连接在一起(不带换行符)。您应该创建一个行的
ArrayList
,然后拆分其中的每一行

    int i = 0;
    for (String item : myArray)
    {

        System.out.print(item);//It doent add a new line after printing the item
        if (++i % 2 != 0)
        {
            System.out.println(("-")); //if just one printed just append -
        }
        else
        {
            System.out.println(); //else put a new line and reset the flag
            i=0;

        }
    }

或者使用CSV处理库。

尝试将while循环替换为:

while ((lines = br.readLine()) != null) {
   String myarray[] = lines.split(",");
   System.out.format("%s - %s\n", myarray[1],myarray[0]);
}

并在此之后删除代码

读取文件中的每一行,将“,”替换为“-”。使用
replaceAll(String regex,String replacement)
method感谢这项工作,但假设我有一个包含3个元素的数组,即CS4075、B、2013 System.out.format(“%s-%s\n”、myArray[0]、myArray[1]、myArray[2]);我使用了它,但我只得到myArray[0]和myArray[1]的输出。你能帮忙吗?请仔细阅读字符串格式。System.out.format接受1+n个参数,第一个是字符串,即“%s-%s”,其余的是放置在替换字段中的参数,%s表示字符串,%d表示十进制,%f表示浮点。将“%s-%s\n”更改为“%s-%s-%s\n”,它应该可以工作
    int i = 0;
    for (String item : myArray)
    {

        System.out.print(item);//It doent add a new line after printing the item
        if (++i % 2 != 0)
        {
            System.out.println(("-")); //if just one printed just append -
        }
        else
        {
            System.out.println(); //else put a new line and reset the flag
            i=0;

        }
    }
while ((lines = br.readLine()) != null) {
   String myarray[] = lines.split(",");
   System.out.format("%s - %s\n", myarray[1],myarray[0]);
}