Java 是否以特定格式打印csv文件?
我正在读取一个csv文件,该文件具有以下布局: CS4092,B CS2013,A CS8291,C CS0927,D CS0281,AJava 是否以特定格式打印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)
在连接每对行以形成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]);
}