代码很简单:
import java.io.*;
public class Myjava{
public static void main(String args[]){
try{
FileOutputStream fos = new FileOutputStream("D:\\123.txt");
DataOutputStream dos = new DataOutputStream(fos);
dos.writeDouble(3.1415926575);
}catch(Exception e){}
System.out.println("可以了");
}
}运行完之后,123.txt文件的内容为什么是乱码啊?怎么才能正常显示?
import java.io.*;
public class Myjava{
public static void main(String args[]){
try{
FileOutputStream fos = new FileOutputStream("D:\\123.txt");
DataOutputStream dos = new DataOutputStream(fos);
dos.writeDouble(3.1415926575);
}catch(Exception e){}
System.out.println("可以了");
}
}运行完之后,123.txt文件的内容为什么是乱码啊?怎么才能正常显示?
void writeDouble(double v) throws IOException
将一个 double 值写入输出流,该值由八个字节组成。实现这一点的方式是:首先使用与 Double.doubleToLongBits 方法相同的方式将此 double 值转换为一个 long 值,然后使用与 writeLong 方法完全相同的方式写入该 long 值。此方法写入的字节可由 DataInput 接口的 readDouble 方法读取,然后该方法将返回一个等于 v 的 double 值。这样输入进去肯定就是乱码了撒你可以把double转成String再输入就好了
import java.io.*;
public class Myjava{
public static void main(String args[]){
try{
Double a = 3.1415926575;
FileOutputStream fos = new FileOutputStream("D:\\123.txt");
DataOutputStream dos = new DataOutputStream(fos);
dos.writeBytes(a.toString());
//dos.writeDouble(3.1415926575);
}catch(Exception e){}
System.out.println("可以了");
}
}
PrintStream ps = new PrintStream(new FileOutputStream("D:\\123.txt"));
ps.println(3.1415926575);
ps.close();