我想将数组的值写出来。
public void Write(String fileName) throws IOException
{
PrintWriter outFile;
outFile = new PrintWriter(new FileWriter(fileName));
for(int K = 0 ; K < CurrentCount ; K++)
outFile.println(List[K].toString());
outFile.close();
}
输入文件的数据是:WeatherStation @ 1194a4e
WeatherStation类有我的构造函数和get和set方法
List[K] = new WeatherStation(Location, Temp, Title, Air, Pollen);
我期待上面的所有属性都被放入文件中。
答案 0 :(得分:3)
如果您希望这样,那么您需要覆盖toString
课程的WeatherStation
。
默认是一个非常简单的输出类型和唯一ID(不确定它是一个地址还是哈希)。
只需添加一个toString
方法,该方法遍历您班级的成员(您想要打印)并将它们连接成一个字符串。
此链接here就如何执行此操作提供了一个很好的示例。你会做类似的事情:
@Override public String toString() {
StringBuilder result = new StringBuilder();
result.append (this.getClass().getName() + " {");
result.append (" Location=[" + this.Location + "]");
result.append (", Temp=[" + this.Temp + "]");
// Other fields.
result.append (", Pollen=[" + this.Pollen + "]");
result.append (" }");
return result.toString();
}
它未经测试,可能不是您想要的确切格式,但它应该是一个良好的开端。
答案 1 :(得分:1)
您需要覆盖toString()
课程中的WeatherStation
以生成所需的输出。
答案 2 :(得分:1)
简化你的生活!
比较自己:
public void Write(String fileName) throws IOException
{
PrintWriter outFile = new PrintWriter (new FileWriter (fileName));
for (WheatherStation ws : List)
outFile.println (ws);
outFile.close();
}
并且 - 有没有人告诉你覆盖'toString'? ;)我同意。