在for循环中,i ++没有增加到下一个值,任何人都可以帮助我......
import java.io.*;
public class MyClass {
public static void main(String args[]) throws Exception {
try{
String splitBy = ",";
BufferedReader br = new BufferedReader(new FileReader("test.csv"));
String line;
while((line = br.readLine()) !=null){
String[] b = line.split(splitBy);
for(int i=1;i<b.length;i++){
for(int j=1;!b[j].equals('\n');j++){
System.out.println(i+ " " +b[j]+ " " +(b[j]+i));
}
}
}
br.close();
}
catch(ArrayIndexOutOfBoundsException a){
}
}
}
csv文件:
no,a,b,c,d
1,a1,b1,c1,d1
2,a2,b2,c2,d2
3,a3,b3,c3,d3
4,a4,b4,c4,d4
5,a5,b5,c5,d5
必需的输出:
1 a a1
1 b b1
1 c c1
1 d d1
2 a a2
2 b b2
2 c c2
2 d d2
...
答案 0 :(得分:0)
BufferedReader的readLine()方法返回没有任何行终止字符\ n或\ r \ n的行的字符串 如果你想读取分割线直到最终项目你可以改变使用j&lt; b.length而不是内部循环中的!b [j] .equals(&#39; \ n&#39;)
import java.io。*;
公共类MyClass {
public static void main(String args[]) throws Exception {
try{
String splitBy = ",";
BufferedReader br = new BufferedReader(new FileReader("test.csv"));
String line;
while((line = br.readLine()) !=null){
String[] b = line.split(splitBy);
for(int i=1;i<b.length;i++){
for(int j=1;j<b.length;j++){
System.out.println(i+ " " +b[j]+ " " +(b[j]+i));
}
}
}
br.close();
}
catch(ArrayIndexOutOfBoundsException a){
}
}
}