我输出的输出没有问题,看起来像这样 01:08.0 02:07.6 03:07.1 04:07.1 05:07.4 06:07.2 07:07.6 08:07.1 09:07.1 10:07.2 当我点击它给我相应的时间。输出实际上应该是这样的 1:8.035156,2:7.619141,3:7.105469,4:7.072266 只有在append语句末尾添加“,”字符时才会输出错误的输出。
public class GeneCsv {
public static void main(String[]args) throws IOException{
File file = new File("file.csv");
FileWriter writer = new FileWriter("/Users/home/fileExpression.csv");
PrintWriter pw = new PrintWriter(writer);
Scanner in = new Scanner(file);
boolean firstLine = true;
String[] temp = null;
while(in.hasNextLine()){
if(firstLine== true){
pw.println(in.nextLine());
firstLine= false;
continue;
}
else{
String line = in.nextLine();
temp = line.split(",");
for(int i =0; i < temp.length ; i++){
pw.append(i + ":" + temp[i] + ",");
}
pw.append("\n");
}
}
pw.flush();
pw.close();
writer.close();
}
}
答案 0 :(得分:0)
您永远不会向pw打印新行。在for循环之外执行pw.print("\n");
。
答案 1 :(得分:0)
我的理解是,您需要在单独的行中打印每个逗号分隔值。
为此,只需在"\n"
循环之外打印换行符for
:
for(int i =1; i < temp.length ; i++){
pw.print(i + ":" + temp[i]);
}
pw.print("\n");
希望这有帮助!
答案 2 :(得分:0)
除了换行,如果你想保留逗号,你需要像pw.print(i + ":" + temp[i] + ",")
那样追加它,因为拆分数组不会保留分割符