DataOutputStream 中的 System.out 未在控制台上打印



我正在使用DataOutputStream尝试以下代码。传递给 DataOutputStream 的 OutputStream 不会打印任何内容。请参阅我下面的代码,并请告诉我此代码中的任何错误。

public class DataStreamsExample {
public static void main(String[] args) throws IOException {
    DataInputStream dis = new DataInputStream(System.in);
    System.out.println("Enter the First Number");
    int i = dis.readInt();
    System.out.println("Enter the Second Numebr");
    int j= dis.readInt();
    int total = i+j;
    DataOutputStream dos = new DataOutputStream(System.out);
    dos.writeInt(total);
}

}

为什么要使用数据输出流?您不能使用Scanner来读取输入吗?

不过,调用dos.flush()将打印出您的结果。

OutputStream 基本上是一个二进制结构。如果要写入文本数据(例如从控制台),则应使用具有某种描述的编写器。若要将 OutputStream 转换为 Writer,请使用 OutputStreamWriter。然后在 Writer 周围创建一个 PrintWriter,您可以使用 PrintWriter.println() 读取一行。您可以替换以下行

DataOutputStream out = new DataOutputStream(out);

进入这个

PrintWriter out = new PrintWriter(new OutputStreamWriter(out));

然后,可以在 OutputStreamWriter 的构造函数中显式指定字符编码。

相关内容

  • 没有找到相关文章

最新更新