Double可以使用随机访问文件
DataOutputStream out=DataOutputStream(new FileOutputStream("outagain.txt"));
out.writeDouble(getHeading());

解决方案 »

  1.   

    转换成String之后在写,有如下方法转换
    out.write(String.valueOf(getHeading()));
      

  2.   

    不过我试了一下,好像按out.write(String.valueOf(getHeading()));
    不行,有如下出错信息,
    Compiling...Found 1 semantic error compiling "C:/robocode/robots/sample/Tracker.java":    73.             out.write(String.valueOf(getHeading()));
                        <------------------------------------->
    *** Error: Method "void write(java.lang.String $1);" in class "java/io/PrintStream" has private access. Therefore, it is not accessible in class "sample/Tracker".
    Compile Failed (1)
      

  3.   

    按天紫的方法可以,但如下这个小程序,结果有点不对头,
    import java.io.*;
    import java.lang.*;
    public class Copy {
        public static void main(String[] args) throws IOException {

            double c=2.0;
           
    DataOutputStream out=new DataOutputStream(new  FileOutputStream("in.txt"));

            out.writeDouble(c);
                      
            out.close();
        }
    }在文本文件in.txt中,结果不是2.0,是@,究竟是为什么会出现这样的结果?
      

  4.   

    out.writeDouble(getHeading());
    应该用DataOutputStream的writeDouble()方法,其参数为一个double值。
      

  5.   

    一个double值在文本中显示的当然是乱码了。
    从in.txt中取出该double值,可以用DataInputStream的readDouble()方法,会得到正确值的。