我正在尝试将整数矩阵保存到csv文件中。我的代码如下所示。
try
{
FileWriter writer = new FileWriter("test.csv");
for(int i = 0; i < row; i++)
{
for (int j=0; j<(column-1); j++)
{
writer.append(Matrix[i][j]);
writer.append(',');
}
writer.append(Matrix[i][j]);
writer.append('\n');
writer.flush();
}
writer.close();
}
catch(Exception e)
{
e.printStackTrace();
}
但是,Eclipse提供了以下错误消息:
类型Writer中的方法append(CharSequence)不是 适用于参数(int)
如何解决这个问题?感谢。
答案 0 :(得分:6)
将您的来电更改为append(Matrix[i][j])
至append(String.valueOf(Matrix[i][j])
或append("" + Matrix[i][j])
。问题(正如错误消息所指出的)是你试图附加一个整数,但append方法只接受CharSequence(即一个字符串)。我提出的两个解决方案都将整数/数字类型强制转换为String。
答案 1 :(得分:1)
正如@ I82所提到的,另一种方法是使用write(对于,
,以避免创建字符串)。此外,您在for循环外使用j
,因此您还需要在外部声明它:
int j;
for (j=0; j<(column-1); j++)
{
writer.append(Matrix[i][j]);
writer.append(',');
}
writer.append(Matrix[i][j]);
答案 2 :(得分:0)
其他答案都很好,另一种方法是使用
writer.append(Integer.toString(Matrix[i][j]));
同样正如@MByD所说,如果你在循环之外使用它,你必须在循环之外声明j
。