关于如何将对象数组数据写入文件,我有一个简单的问题 使用缓冲的作家,我没有快乐,我需要一些帮助。
请原谅我刚刚开始学习Java的缺乏知识。
Object[][] data = {
{"dd/mm/yyyy", new Double(5), new Boolean(false),
{"21/12/2013", new Double(5), new Boolean(false)};
}
String sDividendDate1 = (String)data[0][0];
Double dDividend1 = (Double)data[0][1];
try
{
FileWriter file = new FileWriter(NewCodeFile);
BufferedWriter buffer = new BufferedWriter(file);
buffer.write(sDividendDate1);
buffer.newLine();
**buffer.write(sDividend1); /*This is where the compiler does not like
[I think it is because I am trying to write a double variable into a char
text buffer?]**/
}
如何在之后的同一文件中写入存储在dDividend1中的double值 我已将sDividendDate1写入同一文件。 任何帮助总是非常感谢。
非常感谢
亲切的问候 斯蒂芬
答案 0 :(得分:1)
尝试String.valueOf(sDividend1)
或Double.toString(...)
。
您可能还想查看java.text.NumberFormat
。
答案 1 :(得分:1)
斯蒂芬 根据您上面的代码,您引用了一个未声明的变量:
Object[][] data = {
{
{
"dd/mm/yyyy",
new Double(5),
new Boolean(false)
},
{
"21/12/2013",
new Double(5),
new Boolean(false)
}
};
String sDividendDate1 = (String)data[0][0];
Double dDividend1 = (Double)data[0][1];
try {
FileWriter file = new FileWriter(NewCodeFile);
BufferedWriter buffer = new BufferedWriter(file);
buffer.write(sDividendDate1);
buffer.newLine();
buffer.write(dDividend1); /* you had this as sDividend1 which was not declared */
} catch(Exception ex) {
//catch logic here
}
答案 2 :(得分:0)
如果要以二进制表示形式编写对象,则应使用ObjectOutputStream