这个问题本质上是 here 讨论的延伸。 。我的目标是将数组 x 和 y 数据的两个格式化列写入文件(类型 double
)。我目前实现这一目标的尝试如下:
try {
FileOutputStream fos = new FileOutputStream("angle.txt");
DataOutputStream dos = new DataOutputStream(fos);
for (i = 0; i < i_max-1; i = i + 1) {
dos.writeDouble(theta[i]);
}
dos.close();
} catch (IOException error) {
System.out.println("IOException: " + error);
}
此代码源自发现的示例 here (数据输出流)。由于对 Java 的了解有限,我预计这仅适用于一篇专栏;相反,它产生了这个:
?¹™™™™™š?¹™™™™™š?¹™™™™™š?¹™™™™™š?¹™™™™™š?¹™™™™™š?¹™™™™™š?¹™...
我不明白我做错了什么。 您可以提供的任何见解都会有很大帮助。
我的下一个问题是:如何格式化不是一列而是两列 double
类型的列,格式类似于 ("%1$16.6f, % 2$16.6f", time[i], theta[i])
。现在我正在关注this讨论。但是,编译器不喜欢这种使用 writeDouble
的方法。
我们将非常感谢您的帮助和耐心。
最佳答案
流用于写入二进制数据。要写入文本数据,您可以使用 Writers。请参阅Java IO教程:http://docs.oracle.com/javase/tutorial/essential/io/charstreams.html
关于java - 使用 writeDouble 会产生无意义的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25353970/