java - 使用 writeDouble 会产生无意义的结果

标签 java

这个问题本质上是 here 讨论的延伸。 。我的目标是将数组 xy 数据的两个格式化列写入文件(类型 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/

相关文章:

java - Google App Engine 安全约束不起作用

java - 为什么我生成的 Javadoc 看起来很糟糕?

java - 测试没有运行

java - mac地址问题

java - MariaDB和flyway语法错误但在JAVA中没有

java - 为什么实例化 JavaFX 场景控件会破坏布局

java - 当数据库中没有条目时, if (dataSnapshot.getValue() == null) 返回 true,但在完成 "if"部分后也运行 else 部分

java - 如何使用自定义字体/书法更改 tabLayout 的字体

Java 扫描器分隔符检测到 ';',但未检测到 '\n'

java - 如何将首选项与 Activity 联系起来?