我正在阅读具有此布局的csv文件:
CS4092,B CS2013,A CS8291,C CS0927,D CS0281,A
当我打印出来时,我得到了这个输出:
CS4092 BMA4042 CCS4023 ACS4075 BCS4010 A
我想要实现的输出是:
CS4092 - B CS2013 - A CS8291 - C CS0927 - D CS0281 - A
有人可以告诉我,我可以通过何种方式获得所需的输出。 感谢。
public class Student
{
private String studentID;
public Student()
{
}
public void setID(String studentID)
{
this.studentID = studentID;
}
public void checkResults() throws IOException
{
String lines = "", unparsedFile = "", myArray[];
String path = System.getProperty("user.home") +
"/NetBeansProjects/CS4013Project/src/" +
this.studentID + "Results.csv";
FileReader fr = new FileReader(path);
try (BufferedReader br = new BufferedReader(fr))
{
while((lines = br.readLine()) != null)
{
unparsedFile += lines;
}
}
myArray = unparsedFile.split(",");
for(String item : myArray)
{
System.out.println(item);
}
}
}
答案 0 :(得分:0)
当你将它们连接起来形成unparsedFile时,你需要在每对行之间插入一个逗号。
没有它,unparsedFile包含:
CS4092,BCS2013,ACS8291,CCS0927,DCS0281,A
你需要它包含:
CS4092,B,CS2013,A,CS8291,C,CS0927,D,CS0281,A
答案 1 :(得分:0)
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;
}
}
答案 2 :(得分:0)
您将所有行连接在一起(没有换行符分隔符)。您应该创建ArrayList<String>
行,然后拆分每行。
或使用CSV处理库。
答案 3 :(得分:0)
尝试用:
替换while循环while ((lines = br.readLine()) != null) {
String myarray[] = lines.split(",");
System.out.format("%s - %s\n", myarray[1],myarray[0]);
}
并删除此后的代码