有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java获得了奇怪的csv文件时间输出

我的输出没有问题,我得到的输出是这样的 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();
}
    }

共 (3) 个答案

  1. # 1 楼答案

    在放置换行符的同时,如果要保留逗号,则需要像这样附加它pw.print(i + ":" + temp[i] + ","),因为拆分数组不会保留拆分器

  2. # 2 楼答案

    你永远不会在pw上打印新行。在for循环外部执行pw.print("\n");

  3. # 3 楼答案

    我从您的问题中了解到的是,您需要在单独的行中打印每个逗号分隔的值

    为此,只需在for循环外打印一个换行符"\n"

    for(int i =1; i < temp.length ; i++){
       pw.print(i + ":" + temp[i]);    
    }
    pw.print("\n");
    

    希望这有帮助