使用BufferedWriter将存储在Array中的String和Double值写入文件

时间:2010-12-16 13:08:44

标签: java

关于如何将对象数组数据写入文件,我有一个简单的问题 使用缓冲的作家,我没有快乐,我需要一些帮助。

请原谅我刚刚开始学习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写入同一文件。  任何帮助总是非常感谢。

非常感谢

亲切的问候  斯蒂芬

3 个答案:

答案 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