编译失败的原因是在将实际数组写入CSV字符串时,假设了数组的大小。解决这个问题的方法是使用实际数组的大小来进行循环迭代,而不是假设一个固定的大小。下面是一个示例代码:
import java.io.FileWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
String[] data = {"1", "2", "3", "4", "5"};
StringBuilder csv = new StringBuilder();
for (int i = 0; i < data.length; i++) {
csv.append(data[i]);
if (i != data.length - 1) {
csv.append(",");
}
}
try {
FileWriter writer = new FileWriter("output.csv");
writer.write(csv.toString());
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在这个例子中,我们使用了实际数组的长度data.length
来进行循环迭代,而不是假设一个固定的大小。这样可以确保所有的数组元素都会被写入CSV字符串中。